CVE-2026-54559
Python vulnerability analysis and mitigation

Overview

CVE-2026-54559 is a buffer overflow vulnerability in PocketSphinx, an open-source speech recognition library, affecting the language and acoustic model loading code. The trie language model code introduced in PocketSphinx 5prealpha fails to validate boundary conditions when parsing ARPA, DMP, and binary format language model file headers, and the acoustic model loading code uses unbounded sscanf string fields. All versions prior to 5.1.1 (pip package pocketsphinx) are affected; the fix is available in PocketSphinx 5.1.1. The vulnerability was originally published on June 6, 2026, and added to the GitHub Advisory Database on July 17, 2026, with a CVSS v4 base score of 6.9 (Medium) (GitHub Advisory).

Technical details

The vulnerability is classified under CWE-119 (Improper Restriction of Operations within the Bounds of a Memory Buffer), CWE-121 (Stack-based Buffer Overflow), and CWE-122 (Heap-based Buffer Overflow). The trie language model parser does not enforce boundary checks on header fields in ARPA, DMP, and binary model files, enabling stack and heap overflows when processing malformed or malicious files. Additionally, the acoustic model loader — legacy code over 30 years old — uses sscanf with unbounded %s format specifiers, which can overflow stack buffers with oversized input strings. Because PocketSphinx automatically searches the directory specified by the POCKETSPHINX_PATH environment variable for model files, an attacker with write access to that directory can plant a crafted file to trigger the overflow (GitHub Advisory, PocketSphinx Advisory).

Impact

Successful exploitation could allow an attacker to corrupt memory (stack or heap) in the process running PocketSphinx, potentially leading to application crashes or, in more severe scenarios, arbitrary code execution in the context of the affected process. The CVSS v4 scoring reflects a low integrity impact on the vulnerable system with no direct confidentiality or availability impact assessed, though memory corruption vulnerabilities of this class can be chained for more significant outcomes depending on the deployment context. Applications that load model files from user-writable or network-accessible directories are at elevated risk (GitHub Advisory).

Exploitability

No public proof-of-concept exploit code or evidence of in-the-wild exploitation has been reported as of the available data. The CVE status remains "Reserved" and no EPSS score or CISA KEV catalog entry has been identified. Exploitation requires the ability to write a malicious or corrupted model file to a directory searched by PocketSphinx (via POCKETSPHINX_PATH), which limits the attack surface to scenarios where untrusted users can influence the model file directory (GitHub Advisory, PocketSphinx Advisory).

Exploitation steps

  1. Identify target: Locate a system running PocketSphinx versions prior to 5.1.1 where the POCKETSPHINX_PATH environment variable points to a directory writable by the attacker or an untrusted user.
  2. Craft malicious model file: Create a malformed ARPA, DMP, or binary language model file with invalid or oversized header fields designed to exceed buffer boundaries during parsing, or craft an acoustic model file with an oversized string field exploiting the unbounded sscanf call.
  3. Place file in model directory: Write the malicious file to the directory referenced by POCKETSPHINX_PATH, or corrupt an existing model file in that directory.
  4. Trigger model loading: Cause the target application to load PocketSphinx (e.g., by initiating a speech recognition task), which will automatically search POCKETSPHINX_PATH and attempt to parse the malicious file.
  5. Achieve memory corruption: The parser overflows the stack or heap buffer, potentially crashing the process or enabling further exploitation such as code execution depending on memory layout and mitigations in place (GitHub Advisory).

Indicators of compromise

  • File System: Unexpected or recently modified ARPA (.arpa), DMP (.dmp), or binary language model files in the directory pointed to by POCKETSPHINX_PATH; acoustic model files with abnormally large string fields.
  • Process: Crashes or segmentation faults in processes loading PocketSphinx, particularly during model initialization; core dump files generated by the PocketSphinx process.
  • Logs: Application error logs showing PocketSphinx model loading failures or memory access violations; OS-level crash reports (e.g., dmesg entries for segfaults) associated with the speech recognition process.

Mitigation and workarounds

Upgrade the pocketsphinx pip package to version 5.1.1 or later, which contains the security and robustness fixes for this vulnerability. Users of PocketSphinx 5prealpha should migrate to 5.1.1 as no backport patch is available for that branch. As an immediate workaround, ensure the POCKETSPHINX_PATH environment variable is either unset or points to a directory whose contents are fully trusted and not writable by untrusted users (PocketSphinx Release, GitHub Advisory).

Additional resources


SourceThis report was generated using AI

Related Python vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-55209CRITICAL9.8
  • Python logoPython
  • resdata
NoYesSep 14, 2026
CVE-2026-73496HIGH7.7
  • Python logoPython
  • mcp-atlassian
NoYesSep 14, 2026
CVE-2026-54559MEDIUM6.9
  • Python logoPython
  • pocketsphinx
NoYesSep 14, 2026
CVE-2026-73497MEDIUM6.5
  • Python logoPython
  • mcp-atlassian
NoYesSep 14, 2026
CVE-2026-55244MEDIUM5
  • Python logoPython
  • asteval
NoYesSep 14, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management