| عنوان | AstrBotDevs AstrBot 4.25.2 Server-Side Request Forgery (CWE-918) |
|---|
| الوصف | # 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. |
|---|
| المصدر | ⚠️ https://gist.github.com/YLChen-007/f84070f78d9c9c9407b0c396189cd716 |
|---|
| المستخدم | Eric-d (UID 96861) |
|---|
| ارسال | 09/06/2026 11:18 AM (2 أشهر منذ) |
|---|
| الاعتدال | 17/07/2026 03:39 PM (1 month later) |
|---|
| الحالة | تمت الموافقة |
|---|
| إدخال VulDB | 379789 [AstrBotDevs AstrBot حتى 4.25.2 Plugin Update plugin.py update_plugin/update_all_plugins download_url/download_urls/proxy تجاوز الصلاحيات] |
|---|
| النقاط | 20 |
|---|