CVE-2025-54384CVE-2025-54384是CKAN数据管理系统中的一个存储型XSS跨站脚本漏洞。CKAN是一个开源的DMS(数据管理系统),用于为数据中心和开放数据门户提供支持。该漏洞存在于helpers.markdown_extract()函数中,该函数在处理用户提供的Markdown内容时,未能对输入数据进行充分的HTML转义和过滤,直接将未经过滤的内容包装到HTML文本元素中进行渲染。攻击者可以通过在数据集、资源、组织或组的描述字段中注入恶意JavaScript代码,当其他用户访问这些页面时,恶意脚本将在受害者浏览器中执行,从而窃取会话Cookie、劫持用户账户或进行其他恶意操作。该漏洞的CVSS评分为6.3,属于中等严重程度,需要低权限用户交互才能触发,但机密性影响较高。
该漏洞的根本原因在于CKAN的markdown_extract辅助函数在处理Markdown转换后的HTML内容时存在安全漏洞。markdown_extract函数本应用于提取Markdown文本中的纯文本摘要,但其实现逻辑错误地保留了HTML标签而未进行适当的转义处理。当用户提交的Markdown内容包含恶意的HTML/JavaScript代码时,这些代码会被直接嵌入到页面DOM中执行。攻击者可以利用此漏洞在数据集中的描述字段、资源元数据或组织页面中注入包含onerror、onload等事件处理器的img、script或其他HTML标签。例如,攻击者可以在Markdown内容中插入<img src=x onerror=alert(document.cookie)>,当管理员或普通用户查看包含该内容的数据集页面时,恶意JavaScript代码将在其浏览器上下文中执行。漏洞影响所有使用markdown_extract函数渲染用户输入的页面,包括核心功能和扩展插件。