漏洞概述 Stored HTML Injection leads to UI Redressing in Memos 受影响版本: ≤ 0.26.0 CVSS 3.1: AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:N 摘要 Markdown渲染器的sanitization schema允许 属性在 元素和未沙盒化的 嵌入中使用。结合这些,攻击者可以发布一个memo,当其他用户查看时,会覆盖整个应用视图,并带有攻击者控制的内容。浏览器地址栏继续显示合法域名,使得伪造的登录提示非常具有说服力。 根本原因 在 配置中允许两个不应该共存的东西: on 允许任意CSS,包括 和 值,这些值可以逃逸memo容器。 允许没有 属性,因此嵌入内容以完全交互方式加载。两者单独都不危险,但合在一起对攻击者来说非常危险。 影响范围 主要风险: 凭证窃取。用户在没有可靠信号的情况下,可能会在正确的域名URL上看到一个像素完美的登录提示。 次要影响: UI重绘,没有钓鱼组件(完全模糊界面,阻止正常使用),但这本身并不具有破坏性。 修复方案 需要修复 配置,确保 属性和 的使用不会导致安全问题。 Proof of Concept (POC) 将此memo发布到共享实例。任何打开它的用户都会看到攻击者的页面,样式与Memos的当前主题匹配,通过 ,浏览器中没有任何异常迹象。 视频演示 memos.mp4 总结 该漏洞允许攻击者通过存储HTML注入和UI重绘来窃取用户凭证。需要尽快修复 配置以防止此类攻击。