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 脚本旨在利用上述第 2 种选项修复此安全问题,

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
漏洞利用标题:通过 Angular-Base64-Upload 库实现的未认证 RCE
研究人员:Ravindu Wickramasinghe | rvz (@rvizx9)
严重程度:严重 - 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