漏洞总结:Leaflet bindPopup() XSS 漏洞 (CVE-2025-69993) 漏洞概述 Leaflet 库在 方法中存在跨站脚本攻击(XSS)漏洞。该方法默认将用户提供的输入作为原始 HTML 渲染,未进行任何 sanitization(净化/转义),导致攻击者可以注入并执行任意 JavaScript 代码。 影响范围 受影响软件:Leaflet 受影响版本:<= 1.9.4 漏洞类型:跨站脚本 (XSS) 利用场景:Web 地图应用中,允许用户创建或标注地图标记(Marker)时,若将用户输入直接传递给 方法。 修复方案 1. 开发者修复方案(推荐) 在使用 之前,必须对用户输入进行 HTML 转义或净化。 方案 A:使用 DOMPurify 库 方案 B:手动转义 HTML 实体 2. 维护者建议 更改 默认行为,使其渲染纯文本。 提供显式的 HTML 渲染选项(如 )。 在启用 HTML 模式时实现内置的 sanitization。 概念验证 (POC) 代码 环境配置 框架:Angular 21 库:Leaflet 1.9.4 复现步骤 1. 打开应用。 2. 在 Description 文本框输入 Payload。 3. 点击 "Add Marker"。 4. 弹窗自动打开,注入的 JavaScript 执行(弹出 alert)。 漏洞代码路径 模板收集用户输入 测试 Payloads**