| Título | AstrBotDevs AstrBot 4.25.2 Server-Side Request Forgery (CWE-918) |
|---|
| Descrição | # Technical Details
An authenticated Server-Side Request Forgery (SSRF) exists in the plugin update handlers (`update_plugin` and `update_all_plugins`) in `astrbot/dashboard/routes/plugin.py` of AstrBot.
The application fails to validate the `download_url`, `download_urls`, and `proxy` fields extracted from user-supplied JSON bodies before using them to make outbound requests.
# Vulnerable Code
File: astrbot/core/star/updator.py
Method: PluginUpdator.update
Why: The update method reads attacker-controlled URLs and directly passes them to the `httpx` HTTP client configured with `follow_redirects=True`. Neither the request domain, URL scheme, nor redirect targets are validated.
# Reproduction
1. Log in to the AstrBot dashboard using valid credentials.
2. Send a POST request to `/api/plugin/update` sending a target `name` and an attacker-controlled `download_url` (e.g., `"download_url": "http://127.0.0.1:19031/plugin.zip"`).
3. Confirm that the AstrBot server successfully completes an HTTP GET request to the specified internal or arbitrary host.
# Impact
- Allows an attacker to force the server into issuing outbound HTTP GET requests to arbitrary loopback or internal RFC1918 services.
- Permits internal network probing.
- Provides access to private mirrors, admin panels, and other services not reachable from the outside. |
|---|
| Fonte | ⚠️ https://gist.github.com/YLChen-007/f84070f78d9c9c9407b0c396189cd716 |
|---|
| Utilizador | Eric-d (UID 96861) |
|---|
| Submissão | 09/06/2026 11h18 (há 2 meses) |
|---|
| Moderação | 17/07/2026 15h39 (1 month later) |
|---|
| Estado | Aceite |
|---|
| Entrada VulDB | 379789 [AstrBotDevs AstrBot até 4.25.2 Plugin Update plugin.py update_plugin/update_all_plugins download_url/download_urls/proxy Elevação de Privilégios] |
|---|
| Pontos | 20 |
|---|