CVE-2026-34981

whisperX REST API: SSRF in download_from_url() — URL validation happens after HTTP request, extension bypass via .mp3

Published Apr 6, 2026 CVSS 3.1 · 5.8 Medium EPSS < 1% KEV · Not listed
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Pavelzbornik whisperx Rest Api
CPEs cpe:2.3:a:pavelzbornik:whisperx_rest_api:*:*:*:*:*:*:*:*
Vendors & Products Pavelzbornik whisperx Rest Api
Type Values Removed Values Added
First Time appeared Pavelzbornik
Pavelzbornik whisperx-fastapi
Vendors & Products Pavelzbornik
Pavelzbornik whisperx-fastapi
Type Values Removed Values Added
Metrics ssvc

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

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'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Apr 6, 2026, 6:45 PM
Reserved
Mar 31, 2026, 7:38 PM
Status
Analyzed
Published
Apr 6, 2026, 5:17 PM
Modified
Oct 24, 2026, 1:10 PM