CVE-2026-33738Lychee是一款免费的开源照片管理工具。在7.5.3版本之前,该软件存在一个存储型跨站脚本(XSS)漏洞。具体而言,照片的描述字段在存储时未经过适当的HTML清理,随后在RSS、Atom及JSON feed模板中使用了Blade模板引擎的未转义语法({!! !!})进行渲染。由于/feed端点无需身份验证即可公开访问,攻击者可以通过上传带有恶意脚本的照片描述,诱使任何访问该RSS feed的RSS阅读器执行攻击者控制的JavaScript代码。
该漏洞的根本原因在于Laravel Blade模板引擎的不安全使用。在生成RSS、Atom和JSON Feed时,开发者使用了`{!! $item->summary !!}`语法直接输出用户控制的数据(照片描述),而没有使用`{{ }}`进行自动HTML转义。这导致攻击者上传的恶意HTML/JavaScript代码被原样写入Feed响应中。攻击流程如下:首先,攻击者注册或利用现有权限上传照片,并在description字段注入XSS Payload(如<script>标签);其次,服务器将该Payload存储在数据库中;最后,当受害者或RSS聚合器访问公开的/feed端点时,服务器会从数据库读取未经过滤的描述并直接渲染到响应体中,导致受害者浏览器解析并执行恶意脚本。