CVE-2025-62798CVE-2025-62798是code16/sharp框架中的一个存储型跨站脚本(Stored XSS)漏洞。Sharp是一个专为Laravel构建的内容管理框架包。该漏洞存在于SharpShowTextField组件中,攻击者可以通过在文本字段中注入恶意Vue表达式来执行任意JavaScript代码。漏洞的根本原因在于框架错误地将用户输入的内容包裹在{{ }}表达式中,导致Vue.js将其作为动态表达式进行解析和执行。攻击者可以利用此漏洞窃取用户会话cookie、劫持用户账户、执行未经授权的操作或传播恶意内容。由于该漏洞需要低权限用户交互才能触发,且影响范围涵盖所有使用受影响版本Sharp框架的Web应用程序,因此被评定为中危漏洞。
该XSS漏洞的技术原理涉及Vue.js模板引擎的表达式解析机制。在受影响版本的Sharp框架中,当SharpShowTextField组件渲染文本内容时,用户输入的数据被错误地放置在Vue模板表达式的{{ }}语法中。Vue.js会将{{ }}内的内容作为JavaScript表达式进行动态求值,这使得攻击者可以注入恶意JavaScript代码。例如,攻击者可以输入类似{{alert(document.cookie)}}的Payload,当其他用户查看包含该内容的页面时,浏览器会执行注入的JavaScript代码。Vue.js默认的双向绑定和模板编译特性使得这种攻击成为可能。攻击者无需特殊权限即可在允许输入文本的字段中注入Payload,且每次页面加载时恶意代码都会自动执行,形成存储型XSS攻击。修复版本v9.11.1通过禁用Vue表达式求值或添加适当的输入过滤来解决此问题。