Description
The whisperX API is a tool for enhancing and analyzing audio content. From 0.3.1 to 0.5.0, FileService.download_from_url() in app/services/file_service.py calls requests.get(url) with zero URL validation. The file extension check occurs AFTER the HTTP request is already made, and can be bypassed by appending .mp3 to any internal URL. The /speech-to-text-url endpoint is unauthenticated. This vulnerability is fixed in 0.6.0.
Published: 2026-04-06
Score: 5.8 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Server‑side request forgery allowing traversal of internal networks and data exposure
Action: Apply Patch
AI Analysis

Impact

The vulnerability lies in the download_from_url function of whisperX's FileService. The function makes an HTTP GET request to a user‑provided URL without performing any validation first. Only after the request succeeds does the code check the file extension, and that check can be bypassed by appending .mp3 to the target URL. This flaw permits an attacker to trigger outgoing HTTP requests from the server to arbitrary destinations, exposing internal IP addresses or resources that are otherwise inaccessible from the outside. The flaw is essentially a server‑side request forgery (SSRF) that could be used to harvest sensitive data, scan internal services, or exfiltrate data.

Affected Systems

The affected product is the whisperX‑FastAPI application maintained by pavelzbornik. Versions starting at 0.3.1 and up through 0.5.0 contain the vulnerable download_from_url implementation. All earlier releases are unaffected, and the issue was addressed in 0.6.0. Users running any of these vulnerable versions are required to update to 0.6.0 or later to eliminate the backend request vulnerability.

Risk and Exploitability

The CVSS base score of 5.8 indicates a medium severity. No EPSS score is reported, and the vulnerability has not been listed in the CISA KEV catalog. Because the exposed /speech‑to‑text‑url endpoint is unauthenticated, an attacker can directly craft malicious requests from outside the network, making the vector local API access with no prior compromise. An internal host that hosts the whisperX service can initiate outbound traffic to any address, including private network segments, thereby bypassing typical network perimeter defenses. The combination of medium CVSS, lack of exploitation data, and open access creates a non‑trivial risk for organizations that deploy the vulnerable versions without additional network controls.

Generated by OpenCVE AI on April 6, 2026 at 19:36 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade whisperX‑FastAPI to version 0.6.0 or later, where the SSRF issue has been fixed.
  • If an upgrade is not immediately possible, block outbound traffic from the whisperX service to internal IP ranges or use firewall rules to restrict outbound requests to only trusted addresses.
  • Restrict or disable the /speech‑to‑text‑url endpoint, or implement authentication so that only authorized users can trigger download_from_url calls.
  • Monitor the application logs for anomalous outbound requests originating from whisperX, and alert on any unexpected destinations.

Generated by OpenCVE AI on April 6, 2026 at 19:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 07 Apr 2026 00:00:00 +0000

Type Values Removed Values Added
First Time appeared Pavelzbornik
Pavelzbornik whisperx-fastapi
Vendors & Products Pavelzbornik
Pavelzbornik whisperx-fastapi

Mon, 06 Apr 2026 20:00:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 06 Apr 2026 16:45:00 +0000

Type Values Removed Values Added
Description The whisperX API is a tool for enhancing and analyzing audio content. From 0.3.1 to 0.5.0, FileService.download_from_url() in app/services/file_service.py calls requests.get(url) with zero URL validation. The file extension check occurs AFTER the HTTP request is already made, and can be bypassed by appending .mp3 to any internal URL. The /speech-to-text-url endpoint is unauthenticated. This vulnerability is fixed in 0.6.0.
Title whisperX REST API: SSRF in download_from_url() — URL validation happens after HTTP request, extension bypass via .mp3
Weaknesses CWE-918
References
Metrics cvssV3_1

{'score': 5.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N'}


Subscriptions

Pavelzbornik Whisperx-fastapi
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-04-06T18:45:41.844Z

Reserved: 2026-03-31T19:38:31.617Z

Link: CVE-2026-34981

cve-icon Vulnrichment

Updated: 2026-04-06T18:45:35.788Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-04-06T17:17:11.710

Modified: 2026-04-07T13:20:11.643

Link: CVE-2026-34981

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-06T21:31:38Z

Weaknesses