Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-9809 — CVE-2026-9809 is a Stored Cross-Site Scripting (Stored XSS) vulnerability affecting Mautic 7 (versions 7.0.0 through 7.1.1). | Kitploit
工具/GitHubGitHub/aj2108/cve-2026-9809
Vulnerability AnalysisWeb SecurityLearning & Education
GitHubaj2108/cve-2026-9809

CVE-2026-9809

CVE-2026-9809 is a Stored Cross-Site Scripting (Stored XSS) vulnerability affecting Mautic 7 (versions 7.0.0 through 7.1.1).

查看仓库
19天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-9809

CVE-2026-9809 是一个影响 Mautic 7(7.0.0 至 7.1.1 版本)的存储型跨站脚本(Stored XSS)漏洞。该缺陷存在于 Projects 组件中,项目名称会在管理页面(如营销活动、电子邮件和表单)上以标签和悬停弹出层的形式显示,但未经过正确的输出清理。拥有创建或编辑项目权限的已认证用户可以在项目名称中存储恶意 HTML/JavaScript。当管理员随后查看与该项目关联的实体并悬停在其标签上时,恶意脚本会在管理员的浏览器中执行。

受影响软件

属性值
产品Mautic
受影响版本7.0.0 – 7.1.1
修复版本7.1.2
受影响组件Projects(标签与弹出层)

漏洞类型

类别:存储型跨站脚本(Stored XSS) CWE-79:在网页生成期间对输入的不当中和('跨站脚本')

根本原因

应用程序存储由已认证用户提供的项目名称。之后,当项目标签和弹出层内容在管理页面上渲染时,存储的值会被插入到 HTML 中,而没有经过适当的输出编码或清理。

概念上:

root@kitploit:~
User creates project
        │
        ▼
Project name stored in database
        │
        ▼
Administrator opens Campaign / Email / Form
        │
        ▼
Project tag & popover rendered
        │
        ▼
Project name inserted into HTML without sanitization
        │
        ▼
Browser executes embedded JavaScript

浏览器不会将项目名称视为纯文本,而是将其解释为 HTML,从而允许嵌入的 JavaScript 执行。

攻击流程

root@kitploit:~
Attacker
    │
    ▼
Creates a project with a malicious project name
    │
    ▼
Payload stored in database
    │
    ▼
Administrator views Campaign / Email / Form
    │
    ▼
Administrator hovers over the project tag
    │
    ▼
Popover renders unsanitized project name
    │
    ▼
Browser executes JavaScript
    │
    ▼
Actions performed with administrator's privileges

攻击场景

假设一个已认证用户创建了一个名称包含 HTML 而非普通文本的项目。

由于应用程序在输入时不会清理项目名称,因此项目会成功保存。

之后,管理员打开与该项目关联的营销活动。当管理员将鼠标悬停在项目标签上时,应用程序会使用存储的项目名称生成弹出层。由于内容是在没有正确输出编码的情况下插入页面的,浏览器会将其解释为 HTML 而非纯文本,从而导致嵌入的 JavaScript 在管理员的会话中执行。

影响

成功利用该漏洞可能允许攻击者:

  • 在管理员的浏览器中执行任意 JavaScript。
  • 利用管理员的会话执行操作。
  • 修改应用设置。
  • 访问敏感的管理数据。
  • 窃取管理员可访问的信息。

该漏洞主要影响机密性和完整性。

严重性

指标评分
CVSS v3.1(CNA)7.6(高危)

NVD 尚未发布其自身的 CVSS 评估;当前评分由 Mautic CNA 提供。

概念性漏洞代码

注意:供应商尚未公布确切的漏洞源代码。以下内容说明了该漏洞的模式。

root@kitploit:~
// Project name retrieved from the server
const projectName = response.project.name;

// Unsafe: inserts user-controlled HTML
popover.innerHTML = `
    <span class="project-tag">
        ${projectName}
    </span>
`;

为何存在漏洞

innerHTML 会导致浏览器将存储的项目名称解析为 HTML。如果项目名称包含带有 JavaScript 事件处理程序的 HTML 元素,浏览器在渲染弹出层时会执行这些事件处理程序。

修复后的代码(概念性)

root@kitploit:~
const tag = document.createElement("span");
tag.className = "project-tag";

// Safe: treat input as plain text
tag.textContent = response.project.name;

popover.replaceChildren(tag);

为何此修复有效

使用 textContent 可确保项目名称被当作字面文本而非 HTML 处理。任何 HTML 特殊字符都会被显示出来,而不会被浏览器解释,从而阻止嵌入脚本的执行。在需要渲染 HTML 的情况下,开发人员应在插入之前使用维护良好的 HTML 清理器对不受信任的内容进行清理。

下载工具