
Angular-Base64-Upload Library를 통한 인증되지 않은 원격 코드 실행
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
익스플로잇 제목: Unauthenticated RCE via Angular-Base64-Upload Library
연구자: 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
Github PoC 익스플로잇 링크 : https://github.com/rvizx/CVE-2024-42640
블로그 게시글: https://www.zyenra.com/blog/unauthenticated-rce-in-angular-base64-upload.html