CVE-2026-35046Tandoor Recipes是一款用于管理食谱、计划膳食和构建购物列表的应用程序。在2.6.4版本之前,该应用存在安全漏洞,允许经过身份验证的用户在食谱步骤说明中注入任意<style>标签。由于后端使用的bleach.clean()清理器显式地将<style>标签列入白名单,导致未经清理的CSS有效载荷被持久化并通过API提供服务。任何从API获取instructions_markdown并将其渲染为HTML且未进行额外清理的客户端都将执行攻击者控制的CSS代码。这可能引发界面重定向、钓鱼覆盖、视觉破坏以及基于CSS的数据窃取。
该漏洞的根本原因在于Tandoor Recipes后端在处理用户输入时使用了`bleach`库进行HTML清理,但配置错误地将`<style>`标签加入了白名单。当低权限用户在食谱步骤中输入包含恶意CSS代码的内容时,后端并未过滤掉这些样式标签,而是将其直接存储在数据库中。当其他用户(通常是管理员或高权限用户)通过API请求食谱数据并在前端渲染时,受害者的浏览器会解析并执行这些恶意CSS样式。攻击者可以利用CSS的特性,例如`background-image: url(...)`配合外部请求来窃取敏感数据(如CSRF Token),或者利用绝对定位和透明度进行UI重定向(Clickjacking/Tabnabbing),从而实施钓鱼攻击。由于需要用户交互(UI:R)和较低权限,该漏洞属于存储型CSS注入,危害性在于绕过了传统XSS过滤器对脚本标签的检测。