
Неаутентифицированное удалённое выполнение кода через библиотеку Angular-Base64-Upload
CVE-2024-42640
Неаутентифицированное удалённое выполнение кода через библиотеку Angular-Base64-Upload
подробнее: блог
Версии angular-base64-upload до v0.1.21 включительно уязвимы к неаутентифицированному удалённому выполнению кода через конечную точку angular-base64-upload/demo/server.php. Эксплуатация этой уязвимости позволяет злоумышленнику загружать произвольное содержимое файлов на сервер, к которому впоследствии можно получить доступ через конечную точку angular-base64-upload/demo/uploads. Это приводит к выполнению ранее загруженного содержимого и в итоге позволяет злоумышленнику добиться выполнения кода на сервере.

git clone https://github.com/rvizx/CVE-2024-42640
cd CVE-2024-42640
python3 exploit.py <target> # this will use a php command shell (web-shell)
python3 exploit.py <target> --rev # this will use a php reverse shell
Чтобы устранить проблему безопасности,
Следующий скрипт fix.sh разработан для устранения проблемы безопасности с помощью второго упомянутого выше варианта,

git clone https://github.com/rvizx/CVE-2024-42640
cd CVE-2024-42640
chmod +x fix.sh
./fix.sh # example: ./fix.sh /app | tee -a /tmp/verify.log
Название эксплойта: Неаутентифицированный RCE через библиотеку Angular-Base64-Upload
Исследователь: Ravindu Wickramasinghe | rvz (@rvizx9)
Серьёзность: Critical - 10.0 (CVSS 4.0)
Домашняя страница поставщика: https://www.npmjs.com/package/angular-base64-upload
Ссылка на ПО: https://github.com/adonespitogo/angular-base64-upload
Вектор: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Уязвимые версии: < v0.1.21
Исправленные версии: >= v0.1.21
Протестировано на: Arch Linux
CVE : CVE-2024-42640
NIST: https://nvd.nist.gov/vuln/detail/CVE-2024-42640
Ссылка на PoC-эксплойт на Github: https://github.com/rvizx/CVE-2024-42640
Пост в блоге: https://www.zyenra.com/blog/unauthenticated-rce-in-angular-base64-upload.html