IPBUF安全漏洞报告
English
CVE-2026-41305 CVSS 6.1 中危

CVE-2026-41305 PostCSS跨站脚本漏洞

披露日期: 2026-04-24

漏洞信息

漏洞编号
CVE-2026-41305
漏洞类型
XSS (跨站脚本攻击)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
PostCSS

相关标签

XSSPostCSS跨站脚本CSS注入Web安全CVE-2026-41305

漏洞概述

PostCSS是一个用于分析和修改CSS规则的API工具。在8.5.10版本之前,该组件在将CSS抽象语法树(AST)转换为字符串时,未能正确转义`</style>`序列。当应用解析用户提交的CSS并将其重新字符串化嵌入到HTML `<style>`标签时,攻击者可利用CSS值中的`</style>`字符串跳出样式上下文,导致存储型或反射型跨站脚本(XSS)漏洞。

技术细节

该漏洞源于PostCSS在处理CSS抽象语法树(AST)字符串化时的逻辑缺陷。PostCSS允许开发者通过AST修改CSS规则,但在将AST转换回CSS字符串的过程中,版本8.5.10之前的代码未对CSS属性值中的特殊字符`</style>`进行转义处理。攻击向量主要针对允许用户自定义CSS并重新渲染的应用场景。攻击者可以注入包含`</style><script>alert(1)</script>`的恶意CSS。PostCSS在处理时保留了原始的`</style>`,导致浏览器在渲染HTML时提前闭合`<style>`标签,进而执行后续的恶意JavaScript代码。由于问题出在CSS处理阶段,常规的HTML上下文转义可能无法拦截此攻击向量。

攻击链分析

STEP 1
侦察
攻击者识别目标应用使用了PostCSS库,并且存在允许用户输入CSS代码并在HTML <style>标签中回显的功能点。
STEP 2
构造载荷
攻击者构造包含`</style><script>...`序列的恶意CSS代码,意图打破HTML标签上下文。
STEP 3
传递载荷
攻击者通过应用接口提交构造好的恶意CSS代码。
STEP 4
漏洞利用
服务端应用使用PostCSS解析并重新字符串化CSS,由于未转义`</style>`,将恶意代码直接嵌入响应页面的`<style>`标签中。
STEP 5
执行攻击
受害者的浏览器解析HTML时,遇到未转义的`</style>`提前闭合标签,从而执行后续的JavaScript脚本,窃取数据或执行恶意操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC for CVE-2026-41305 PostCSS XSS // Requires PostCSS < 8.5.10 const postcss = require('postcss'); // Malicious CSS input attempting to break out of style tag const maliciousCss = ` body { background: url('</style><script>alert("CVE-2026-41305")</script>'); } `; // 1. Parse the malicious CSS const root = postcss.parse(maliciousCss); // 2. Stringify the AST back to CSS string const output = root.toString(); console.log('Generated CSS:'); console.log(output); // 3. Simulate embedding in HTML // If the output is placed here: <style> ${output} </style> // The browser will interpret it as: // <style> body { background: url('</style><script>alert("CVE-2026-41305")</script>'); } </style> // Resulting in XSS execution.

影响范围

PostCSS < 8.5.10

防御指南

临时缓解措施
如果无法立即升级PostCSS库,建议在后端代码中将PostCSS输出的CSS字符串中的`</style>`替换为安全的转义序列(如`<\/style>`),或者在输出到HTML前使用专门的CSS净化库(如DOMPurify配合适当配置)进行处理,以防止标签闭合攻击。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表