Skip to main content

whisper.cpp EUVDEUVD-2026-101800

| CVE-2026-110810 LOW
Out-of-bounds Read (CWE-125)
2026-10-15 VulDB GHSA-v488-xqq5-cf9f
0.9
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malicious GGML model file with invalid ttype
  2. Delivery
    Deliver model to victim via untrusted source
  3. Exploit
    Victim loads file in whisper_model_load
  4. Execution
    Out-of-bounds read on type lookup
  5. Impact
    Application 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.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

whisper.cpp 1.9.3
whisper.cpp 1.9.4
whisper.cpp 1.9.2
whisper.cpp 1.9.0
whisper.cpp 1.9.1

Affected Packages

euvd whisper_cpp no fix

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

Vendor (VulDB) PRIMARY 0.9 LOW
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
vuln.today AI 3.3 LOW

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).

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

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
CVSS changed
Oct 15, 2026 - 01:23 NVD
2.4 (LOW) 0.9 (LOW)
CVE Published
Oct 15, 2026 - 00:00 cve.org
LOW 2.4

DescriptionCVE.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

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Medium
popular open-source local speech-to-text inference library, not enterprise-ubiquitous
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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.

SignalValue
Severity LOW
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +4
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

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