Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious GGML model file with invalid ttype
-
DeliveryDeliver model to victim via untrusted source
-
ExploitVictim loads file in whisper_model_load
-
ExecutionOut-of-bounds read on type lookup
-
ImpactApplication crash / denial of service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires the victim to load an attacker-supplied Whisper/GGML model file whose tensor-type field ('ttype') is outside the valid range (0 <= ttype < GGML_TYPE_COUNT), triggering the out-of-bounds read in whisper_model_load (src/whisper.cpp); the sibling parakeet_model_load and whisper_vad_init paths share the same flaw. Exploitation is strictly LOCAL (AV:L) and requires user interaction (UI:P) - the victim must choose to load the untrusted model; there is no remote or network-triggerable path. Limiting factors: attacker must get an untrusted model file onto the system and have it loaded, and impact is confined to availability (a crash) with no confidentiality or integrity effect, so this cannot be used for code execution or data theft based on the available data. |
| Impact | This is a low-severity, low-priority issue despite the 'Information Disclosure' tag. All signals point to minimal real-world risk: the provided CVSS 4.0 vector (AV:L/AC:L/PR:L/UI:P/VC:N/VI:N/VA:L) scores only 2.4, with a LOCAL attack vector, required user interaction, and impact limited to availability (VA:L) - notably no confidentiality impact (VC:N), which conflicts with the 'Information Disclosure' tag and the intuition that an out-of-bounds read leaks data. CWE-125 (OOB read) here most plausibly manifests as a crash rather than meaningful data exposure, consistent with VulDB's VC:N/VI:N rating. A public PROOF-OF-CONCEPT exists (E:P and the referenced GitHub issue #4090), and a vendor patch is available (v1.9.5, commit 60c0be6), but there is NO CISA KEV listing and NO EPSS score provided, so there is no evidence of active or widespread exploitation. The exploit requires an attacker to get a victim to load a maliciously crafted model file locally - not a remotely reachable service. Bottom line: a confirmed, publicly-exploitable but genuinely low-impact local bug; patch opportunistically rather than as an emergency. Note the minor signal conflict: the 'Information Disclosure'/'Buffer Overflow' tags overstate the impact relative to the authoritative CVSS (availability-only, no confidentiality). |
| Exploit ScenarioDerived | An attacker crafts a malicious Whisper GGML model file containing an out-of-range 'ttype' tensor-type value and convinces a victim to load it (e.g., a model downloaded from an untrusted source). When whisper_model_load parses the file, the invalid ttype indexes a type-size lookup out of bounds, causing an out-of-bounds read that typically crashes the application. A public proof-of-concept is available via the vendor's GitHub issue tracker. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
An out-of-bounds read in ggml-org whisper.cpp through version 1.9.4 lets a local attacker crash the application by getting a victim to load a crafted GGML model file whose tensor-type field ('ttype') falls outside the valid range. Exploitation is strictly local and requires user interaction - the victim must choose to open the untrusted model - and the assessed impact is limited to availability (a process crash), with no confidentiality or integrity effect. Publicly available exploit code exists (the upstream issue and PR are public), but the vulnerability is not in CISA KEV and its severity is low.
RemediationAI
Upgrade to whisper.cpp v1.9.5, which contains the vendor-released patch (commit 60c0be6ac8fa71b1a2ae2dd938a31a34a508e774, merged via PR https://github.com/ggml-org/whisper.cpp/pull/4091); the patch adds range validation rejecting any model whose ttype is outside 0 <= ttype < GGML_TYPE_COUNT. If upgrading is not immediately possible, the practical compensating control is to load only trusted, vendor-sanctioned GGML model files and to treat any downloaded or user-supplied model as untrusted input - this eliminates the attack vector entirely, at the cost of restricting legitimate use of third-party models. Because the vulnerable field is embedded in the model file itself, there is no configuration switch or port/endpoint restriction that removes the risk short of applying the patch or blocking untrusted model loading.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is a classic out-of-bounds read (CWE-125) rooted in insufficient validation of model-file metadata. whisper.cpp parses GGML model files in whisper_model_load (src/whisper.cpp); the tensor 'ttype' field read from the file is used as an index before being bounds-checked against GGML_TYPE_COUNT, so an attacker-crafted model with a negative or oversized ttype drives an out-of-bounds array access. The same missing check exists in the sibling parakeet_model_load path (src/parakeet.cpp) and in whisper_vad_init_with_params, meaning the void/model-loader family shares the defect. The upstream fix (commit 60c0be6ac8fa71b1a2ae2dd938a31a34a508e774 / PR #4091) adds an explicit 'ttype < 0 || ttype >= GGML_TYPE_COUNT' guard and rejects the file, confirming the root cause is absent range validation rather than a memory-management bug.
Know when Whisper Cpp gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P
Local malicious-model-file parsing bug needing no prior privileges but requiring the victim to load the file (UI:R); impact is an out-of-bounds read causing a crash, so availability-only (A:L).
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
2DescriptionCVE.org
A vulnerability was detected in ggml-org whisper.cpp up to 1.9.4. This affects the function whisper_model_load of the file src/whisper.cpp of the component Model Loader. Performing a manipulation of the argument ttype results in out-of-bounds read. The attack must be initiated from a local position. The exploit is now public and may be used. Upgrading to version 1.9.5 is able to mitigate this issue. The patch is named 60c0be6ac8fa71b1a2ae2dd938a31a34a508e774. It is recommended to upgrade the affected component. The vendor was contacted early, responded in a very professional manner and quickly released a fixed version of the affected product.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
More in Whisper Cpp
View allNull pointer dereference in whisper.cpp up to version 1.8.2 allows a local authenticated attacker to crash the applicati
Local denial of service in ggml-org whisper.cpp 95ea8f9b via reachable assertion in ggml_ftype_to_ggml_type function. A
Local attackers with low privileges can trigger an out-of-bounds read in whisper.cpp 1.8.4-58 by supplying a very short
EUVD-2026-101800
GHSA-v488-xqq5-cf9f
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB