Skip to main content

Praat EUVDEUVD-2026-101708

| CVE-2026-110698 LOW
Buffer Overflow (CWE-119)
2026-10-14 cna@vuldb.com GHSA-89mv-jhhr-rqh8
2.1
CVSS 4.0 · Vendor: vuldb
View

Attack ChainAIDerived

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

  1. Access
    Craft malicious whisper model file
  2. Delivery
    Deliver model to victim
  3. Exploit
    Victim loads model in Praat
  4. Execution
    Out-of-bounds write in whisper_model_load
  5. Impact
    Memory corruption / limited impact

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, buffer size validation
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the victim to load an attacker-crafted whisper model file into Praat's Whisper-based speech recognition (the bundled external/whispercpp/whisper.cpp Model Loader); the malicious file sets the tensor n_dims argument outside the valid 0-4 range to trigger the out-of-bounds write. This is NOT remote-unauthenticated-against-default-config exploitation: the CVSS 4.0 vector's UI:P confirms required user interaction (the user must open/load the crafted model), which is the primary limiting factor. No authentication is required (PR:N), and impact is limited to LOW confidentiality/integrity/availability on the local system, with no scope change to other systems.

Impact

This is a genuinely low-priority issue despite being a memory-corruption (out-of-bounds write) bug. The CVSS 4.0 base score is only 2.1, and the vector (AV:N/AC:L/AT:N/PR:N/UI:P, impacts VC:L/VI:L/VA:L) shows why: exploitation requires user interaction (UI:P) and yields only LOW confidentiality, integrity, and availability impact with no subsequent-system impact (SC:N/SI:N/SA:N). The CVSS 4.0 string includes E:P, which aligns with the description's statement that 'the exploit has been disclosed publicly,' so public exploit/POC material exists - but there is NO CISA KEV listing and NO EPSS score in the provided data, so there is no evidence of active or widespread exploitation. A key conflict: VulDB/NVD label the attack as initiatable 'remotely' (AV:N), yet the root cause is parsing of a malicious whisper model file in whisper_model_load, which realistically requires a victim to load an attacker-supplied model - this is better characterized as crafted-file processing with required user interaction than true remote exploitation. The vendor (Praat maintainer Paul Boersma) has confirmed and shipped a quick fix in 7.0.03 with a better fix scheduled. Overall: real but minor; treat as a routine patch, not an emergency.

Exploit ScenarioDerived

An attacker crafts a malicious whisper speech-recognition model file in which the n_dims field is set to an out-of-range value, then distributes it (e.g., via a shared model repository or social engineering) to a Praat user. When the victim loads the model, the whisper_model_load routine performs an out-of-bounds write during tensor dimension handling, potentially corrupting memory. Public exploit material has been disclosed, but the low CVSS impact (VC/VI/VA:L) and required user interaction limit practical severity.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.3% 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 write in the Whisper speech-recognition model loader bundled with Praat (external/whispercpp/whisper.cpp) is triggered when a user loads a crafted Whisper model whose tensor dimension count (n_dims) falls outside the expected 0-4 range, corrupting memory on the local system. Affected versions are Praat up to and including 7.0.02; exploitation requires user interaction - the victim must actively open the malicious model file - and no authentication is required, with impact limited to low confidentiality, integrity, and availability loss on the local host. Publicly available exploit code exists, but the issue is rated low priority given the local attack path and the required user action, and no data indicates confirmed active exploitation.

RemediationAI

Upgrade to Praat 7.0.03 or later: the maintainer confirms a quick fix (suggested fix 1, the n_dims 0-4 bounds check landing in commit a910d21a2705ef4cd16d91f29cdc8da1ab1a7221) was shipped in Praat version 7.0.03, and notes a better fix (suggested fix 2) is scheduled, so tracking later releases is advisable. If upgrading immediately is not possible, treat Whisper model files as untrusted input and avoid loading models from external, downloaded, or otherwise unverified sources into Praat's Whisper-based speech recognition - this removes the only known trigger, since exploitation requires the user to open the crafted model; the trade-off is that legitimate third-party models remain unusable in the affected build. There is no server-side control or network port to block for this issue because the attack path is local file loading, so restricting model provenance and user education are the practical compensating controls. Refer to the vendor issue at https://github.com/praat/praat.github.io/issues/3348 and the fix commit at https://github.com/PaulBoersma/praat/commit/a910d21a2705ef4cd16d91f29cdc8da1ab1a7221 for details.

Affected VersionsENISA

Praat 7.0.02

Affected Packages

euvd praat 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 CWE-119 improper-restriction-of-operations-within-the-bounds-of-a-memory-buffer defect that manifests as an out-of-bounds write. Praat ships a copy of whisper.cpp (the C/C++ Whisper speech-recognition implementation) under external/whispercpp/, and its static whisper_model_load() routine parses GGML-format model metadata, including each tensor's dimension count stored in the n_dims field. The loader trusted that value without validating it, so a model file declaring an out-of-range dimension count causes tensor-shape/offset calculations to index outside the intended buffers and write past their bounds. The upstream fix referenced for this CVE (commit a910d21a2705ef4cd16d91f29cdc8da1ab1a7221) inserts a guard rejecting any n_dims less than 0 or greater than 4 with an error log and a false return; the maintainer explicitly labels this a 'quick fix' for issue #3348 and notes a better fix is scheduled, the proper remedy being to update the vendored whisper.cpp. The attack surface is the model-loading path rather than a network service, which is why the authoritative assessment maps the vector to AV:L with UI:R.

Know when the next one hits your stack

  • 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 2.1 LOW
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
vuln.today AI 5.3 MEDIUM

Flaw triggers only when a user loads a crafted model file, so AV:L and UI:R; no auth needed (PR:N); out-of-bounds write yields limited C/I/A impact.

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

Primary rating from Vendor (vuldb).

CVSS VectorVendor: vuldb

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

DescriptionCVE.org

A security vulnerability has been detected in Praat up to 7.0.02. Affected is the function whisper_model_load of the file external/whispercpp/whisper.cpp of the component Model Loader. The manipulation of the argument n_dims leads to out-of-bounds write. The attack can be initiated remotely. The exploit has been disclosed publicly and may be used. The identifier of the patch is a910d21a2705ef4cd16d91f29cdc8da1ab1a7221. To fix this issue, it is recommended to deploy a patch. The project maintainer confirms: "We did a quick fix (suggested fix 1) for Praat version 7.0.03, and scheduled a better fix (suggested fix 2)."

Threat Intelligence Overview

EPSS Score
0.3%
Top 76% exploitable
Prevalence
Low
Praat is niche phonetics/linguistics research software, not enterprise-deployed
Data Quality
7 sources
Confidence: High

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 No
EPSS 0.3%
Patch available No
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· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

10
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: 0
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.

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