近日,安全研究人员披露了DjVuLibre中的一个严重漏洞,该漏洞编号为CVE-2025-53367,可导致Linux桌面系统遭受远程代码执行攻击,目前漏洞的概念验证(PoC)已公开,引发了安全社区的广泛关注。
DjVuLibre是一款用于DjVu文档文件的开源解码器。DjVu文件格式类似于PDF,常用于存储文档,并且在许多Linux发行版中,默认的文档查看器(如Evince和Papers)均支持DjVu格式 。值得注意的是,即使DjVu文件的扩展名为.pdf,Evince和Papers也能自动识别并使用DjVuLibre进行解码,这一特性被攻击者利用,埋下了安全隐患。
该漏洞的根源在于MMR解码器的 scanruns 方法中存在越界写入问题。在解码过程中,相关的缓冲区指针(如 pr 和 xr )未进行有效的边界检查,导致数据写入可能超出分配的内存范围,进而引发堆内存损坏。利用这一漏洞,攻击者精心构造恶意的DjVu文件,当用户在Linux桌面系统上打开该文件时,就可能触发远程代码执行,使攻击者得以控制目标系统。
安全研究员Antonio在研究Evince阅读器时,通过模糊测试技术发现了这个漏洞。随后,Kev将其武器化,开发出有效的概念验证。在演示中,Kev在装有最新Ubuntu 25.04系统且启用所有标准安全保护的环境下,点击了一个伪装成 poc.pdf 的恶意DjVu文件,文件被默认文档查看器识别为DjVu格式并使用DjVuLibre解码,成功触发越界写入漏洞,进而调用 system("google-chrome https://www.youtube.com/…") 打开了浏览器并访问指定链接,证明了漏洞的可利用性。
尽管在某些环境下(如AppArmor配置文件的限制),攻击者执行特定命令可能受到一定限制,但该配置文件并非十分严格,仍允许攻击者向用户主目录进行任意文件写入,为进一步的攻击和权限提升留下了空间。
目前,该漏洞已被负责任地披露,DjVuLibre v3.5.29版本已修复此问题。安全专家强烈建议所有使用DjVuLibre的用户和Linux发行版尽快升级到最新版本,以避免遭受攻击。同时,集成了DjVuLibre的应用程序(如Evince和Papers)开发者也应迅速更新软件,以保障用户的系统安全。在PoC已公开的情况下,攻击者利用漏洞发动攻击的风险大大增加,及时采取防护措施刻不容缓。