AVideo has SSRF Protection Bypass via HTTP Redirect in Image Download Endpoints
Summary
isSSRFSafeURL() validates URLs against private/reserved IP ranges before fetching, but url_get_contents() follows HTTP redirects without re-validating the redirect target. An attacker can bypass SSRF protection by redirecting from a public URL to an internal target.
Root Cause
Check-time: isSSRFSafeURL() at objects/functions.php:4066 resolves the hostname and validates the IP.
Use-time: url_get_contents() at objects/functions.php:1990 calls file_get_contents() with PHP's default follow_location=1 — redirects are followed without re-validation. The wget fallback at line 2047 also follows redirects by default.
Affected endpoint: objects/aVideoEncoderReceiveImage.json.php at lines 67-68, 107-108, 135-136, 160-161:
if (isValidURL($_REQUEST['downloadURL_image']) && isSSRFSafeURL($_REQUEST['downloadURL_image'])) {
$content = url_get_contents($_REQUEST['downloadURL_image']);
Proof of Concept
- Attacker sets up
https://attacker.com/redirto respond with302 Location: http://169.254.169.254/latest/meta-data/ - Authenticated user (with upload+edit permissions) triggers image download:
GET /objects/aVideoEncoderReceiveImage.json.php?downloadURL_image=https://attacker.com/redir&...
isSSRFSafeURL()resolvesattacker.com→ public IP → passes validationurl_get_contents()follows 302 redirect to169.254.169.254→ SSRF
Impact
- Cloud metadata access (AWS IMDSv1, GCP, Azure)
- Internal network service access
- Bypasses the existing SSRF protection that was added to prevent exactly this class of attack
Note
The curl path in url_get_contents() does NOT set CURLOPT_FOLLOWLOCATION so it is not affected. Only the file_get_contents and wget fallback paths are vulnerable.
Suggested Fix
Set follow_location to 0 in the stream context and handle redirects manually with re-validation, or add isSSRFSafeURL() check inside url_get_contents() after resolving the final URL.
Betroffene Software
Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.
| Plattform | Paket | Anfällige Versionen | Behoben in |
|---|---|---|---|
| Composer-Paket | wwbn/avideo | <= 26.0 | keine Korrektur |
Verweise
- CVSS-Vektor
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N- Schwäche (CWE)
CWE-918- Plattform
- Composer
- Paket
wwbn/avideo- Veröffentlicht
- 26.03.2026
- Aktualisiert
- 11.10.2026 10:22
Quellen und Lizenzen
OSV / GitHub Advisory Database - GHSA-f359-r3pv-2phf - CC BY 4.0
Schwachstellenhistorie: wwbn/avideo
Alle veröffentlichten Schwachstellen dieses Pakets (Composer-Paket), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.
- Einträge insgesamt
- 160
- Erste → letzte
- 04.2022 06.2026
- Ohne Fix
- 143
- In Angriffen ausgenutzt
- 0
Verteilung nach Schweregrad
- Kritisch 14
- Hoch 61
- Mittel 83
- Niedrig 2
Veröffentlichungen pro Jahr
- 2022: 2
- 2023: 5
- 2024: 5
- 2025: 0
- 2026: 148
-
AVideo has SSRF Protection Bypass via HTTP Redirect in Image Download Endpoints dieser Eintrag
Erkennen Sie Schwachstellen in Ihrer Anwendung
Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.