CVE-2026-33230NLTK(自然语言工具包)是一套广泛使用的开源Python模块,用于支持自然语言处理的研究与开发。在3.9.3及更早版本中,该组件存在一处反射型跨站脚本(XSS)漏洞,具体位于`nltk.app.wordnet_app`的`lookup_...`路由处理逻辑中。由于应用程序在生成HTML响应页面时,未对攻击者通过URL控制的`word`数据进行严格的转义处理,导致这些数据被直接反射到页面中。攻击者可以通过构造包含恶意HTML或JavaScript代码的`lookup_<payload>`链接,诱导受害者访问。一旦受害者点击该链接,恶意脚本将在受害者的浏览器中执行,且由于该漏洞具有Scope Changed(范围变更)特性,脚本运行在WordNet应用程序的源上下文中,从而可能窃取敏感信息或执行未授权操作。
该漏洞的技术核心在于不安全的直接对象引用或缺乏输出编码。在NLTK的WordNet浏览器应用中,路由设计允许通过URL路径的一部分来指定查询的单词(即`lookup_<word>`)。服务器端代码提取`<word>`部分后,直接将其嵌入到返回的HTML文档结构中,而未经过HTML实体编码(如将`<`转换为`<`)。这种处理方式使得浏览器无法区分数据内容和可执行代码。根据CVSS向量`CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N`,攻击者无需认证即可利用此漏洞,利用复杂度低,且需要用户交互(如点击链接)。关键在于`S:C`(Scope Changed),意味着攻击者利用该漏洞不仅影响页面本身,还能改变浏览器的安全上下文至受影响的应用源。这意味着攻击者能够绕过部分同源策略限制,读取本地服务器域下的敏感数据,或者对本地API发起请求,从而对运行WordNet浏览器的用户造成实质性的安全威胁。