在 Mealie 的菜谱创建功能中发现了两个存储型跨站脚本(XSS)漏洞,影响包括 3.0.1 在内的所有版本。
菜谱创建过程中提供的未经过滤的用户输入被存储,随后在前端渲染时未进行适当转义,导致持久性XSS。
在创建新菜谱时,以下字段存在漏洞:
配料备注(note 参数):
该字段的输入会被存储,并在菜谱详情视图中渲染,允许执行注入的JavaScript载荷。
操作说明文本(text 参数):
该字段的输入同样会被存储并在菜谱详情视图中渲染,在查看菜谱时导致JavaScript执行。
显示创建新菜谱后 JSON 响应中易受攻击参数的截图:
通过 note 参数触发的浏览器警告弹窗(“第一个存储型XSS”):
通过 text 参数触发的浏览器警告弹窗(“第二个存储型XSS”):