Skip to main content

whisper.cpp CVE-2026-17512

| EUVDEUVD-2026-49189 LOW
Out-of-bounds Read (CWE-125)
2026-07-27 VulDB GHSA-pw32-mv59-2r66
1.9
CVSS 4.0 · Vendor: VulDB

Severity by source

Vendor (VulDB) PRIMARY
1.9 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
3.3 LOW

Local attack with low privileges, no user interaction, low confidentiality impact, no integrity or availability impact.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

4
Source Code Evidence Fetched
Jul 27, 2026 - 13:24 vuln.today
Analysis Generated
Jul 27, 2026 - 13:24 vuln.today
Severity Changed
Jul 27, 2026 - 13:22 NVD
MEDIUM LOW
CVSS changed
Jul 27, 2026 - 13:22 NVD
4.8 (MEDIUM) 1.9 (LOW)

DescriptionCVE.org

A vulnerability has been found in ggml-org whisper.cpp 1.8.4-58. This impacts the function log_mel_spectrogram of the file src/whisper.cpp. The manipulation leads to out-of-bounds read. The attack needs to be performed locally. The pull request to fix this issue awaits acceptance.

AnalysisAI

Local attackers with low privileges can trigger an out-of-bounds read in whisper.cpp 1.8.4-58 by supplying a very short audio sample to the log_mel_spectrogram function. This heap read overflow may leak sensitive information but does not allow code execution or system compromise. No public exploit or active exploitation has been reported.

Technical ContextAI

The vulnerability resides in the log_mel_spectrogram function within src/whisper.cpp, which performs reflective padding on input audio samples before computing a mel spectrogram. The code reads samples[1..stage_2_pad] without checking that the input length (n_samples) meets the minimum requirement (stage_2_pad + 1, which equals WHISPER_N_FFT/2 + 1 = 201 samples for typical FFT sizes). This omission allows an out-of-bounds read (CWE-125) when processing audio shorter than 201 samples. The CPE cpe:2.3:a:ggml-org:whisper.cpp:*:*:*:*:*:*:*:* indicates all versions are potentially affected. The attack vector is local (AV:L), requires low privileges (PR:L), and no user interaction (UI:N), but only low confidentiality impact is possible (VC:L).

RemediationAI

The primary fix is to apply the changes from pull request #3925 (https://github.com/ggml-org/whisper.cpp/pull/3925) pending its merge into the main branch. This adds a length check that rejects audio samples shorter than stage_2_pad + 1 (201 samples for standard FFT). Until a patched release is made, users can mitigate the issue by ensuring that any audio input to whisper.cpp has a minimum length of 201 samples; this can be enforced at the application level by padding short inputs with zeros or dropping them. The trade-off is that extremely short audio (e.g., sub-201-sample clips) will be rejected, which may affect applications that process bursts of very short audio segments. No other workaround for the root cause exists.

Share

CVE-2026-17512 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy