ubuntu-cve-2026-54559
Vulnerability from osv_ubuntu
PocketSphinx is a small speech recognizer. Prior to 5.1.1, the trie language-model loaders in src/lm/ngram_model_trie.c do not adequately validate boundary conditions in ARPA, DMP, and binary format headers, and the acoustic-model loaders in src/mdef.c and src/util/bio.c use sscanf with unbounded string fields. Loading an invalid, corrupted, or malicious language or acoustic model can therefore cause stack or heap buffer overflows and memory corruption. An attacker who can write to a directory selected by POCKETSPHINX_PATH can replace or add a model file that PocketSphinx later loads; users of PocketSphinx 5prealpha have no backported patch and must migrate to the fixed release. This issue is fixed in version 5.1.1.
{
"affected": [
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "gstreamer1.0-pocketsphinx",
"binary_version": "0.8.0+real5prealpha-1ubuntu2"
},
{
"binary_name": "libpocketsphinx3",
"binary_version": "0.8.0+real5prealpha-1ubuntu2"
},
{
"binary_name": "pocketsphinx",
"binary_version": "0.8.0+real5prealpha-1ubuntu2"
},
{
"binary_name": "pocketsphinx-en-us",
"binary_version": "0.8.0+real5prealpha-1ubuntu2"
},
{
"binary_name": "python-pocketsphinx",
"binary_version": "0.8.0+real5prealpha-1ubuntu2"
}
]
},
"package": {
"ecosystem": "Ubuntu:16.04:LTS",
"name": "pocketsphinx",
"purl": "pkg:deb/ubuntu/pocketsphinx@0.8.0+real5prealpha-1ubuntu2?arch=source\u0026distro=xenial"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"0.8.0+real-0ubuntu6",
"0.8.0+real5prealpha-1ubuntu2"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "gstreamer1.0-pocketsphinx",
"binary_version": "0.8.0+real5prealpha-1ubuntu2"
},
{
"binary_name": "libpocketsphinx3",
"binary_version": "0.8.0+real5prealpha-1ubuntu2"
},
{
"binary_name": "pocketsphinx",
"binary_version": "0.8.0+real5prealpha-1ubuntu2"
},
{
"binary_name": "pocketsphinx-en-us",
"binary_version": "0.8.0+real5prealpha-1ubuntu2"
},
{
"binary_name": "python-pocketsphinx",
"binary_version": "0.8.0+real5prealpha-1ubuntu2"
}
]
},
"package": {
"ecosystem": "Ubuntu:18.04:LTS",
"name": "pocketsphinx",
"purl": "pkg:deb/ubuntu/pocketsphinx@0.8.0+real5prealpha-1ubuntu2?arch=source\u0026distro=bionic"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"0.8.0+real5prealpha-1ubuntu2"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "gstreamer1.0-pocketsphinx",
"binary_version": "0.8.0+real5prealpha+1-6ubuntu4"
},
{
"binary_name": "libpocketsphinx3",
"binary_version": "0.8.0+real5prealpha+1-6ubuntu4"
},
{
"binary_name": "pocketsphinx",
"binary_version": "0.8.0+real5prealpha+1-6ubuntu4"
},
{
"binary_name": "pocketsphinx-en-us",
"binary_version": "0.8.0+real5prealpha+1-6ubuntu4"
},
{
"binary_name": "python3-pocketsphinx",
"binary_version": "0.8.0+real5prealpha+1-6ubuntu4"
}
]
},
"package": {
"ecosystem": "Ubuntu:20.04:LTS",
"name": "pocketsphinx",
"purl": "pkg:deb/ubuntu/pocketsphinx@0.8.0+real5prealpha+1-6ubuntu4?arch=source\u0026distro=focal"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"0.8.0+real5prealpha+1-6ubuntu1",
"0.8.0+real5prealpha+1-6ubuntu3",
"0.8.0+real5prealpha+1-6ubuntu4"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "gstreamer1.0-pocketsphinx",
"binary_version": "0.8.0+real5prealpha+1-14ubuntu1"
},
{
"binary_name": "libpocketsphinx3",
"binary_version": "0.8.0+real5prealpha+1-14ubuntu1"
},
{
"binary_name": "pocketsphinx",
"binary_version": "0.8.0+real5prealpha+1-14ubuntu1"
},
{
"binary_name": "pocketsphinx-en-us",
"binary_version": "0.8.0+real5prealpha+1-14ubuntu1"
},
{
"binary_name": "pocketsphinx-testdata",
"binary_version": "0.8.0+real5prealpha+1-14ubuntu1"
},
{
"binary_name": "swig-pocketsphinx",
"binary_version": "0.8.0+real5prealpha+1-14ubuntu1"
}
]
},
"package": {
"ecosystem": "Ubuntu:22.04:LTS",
"name": "pocketsphinx",
"purl": "pkg:deb/ubuntu/pocketsphinx@0.8.0+real5prealpha+1-14ubuntu1?arch=source\u0026distro=jammy"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"0.8.0+real5prealpha+1-13ubuntu1",
"0.8.0+real5prealpha+1-14ubuntu1"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "gstreamer1.0-pocketsphinx",
"binary_version": "0.8.0+real5prealpha+1-15ubuntu5"
},
{
"binary_name": "libpocketsphinx3",
"binary_version": "0.8.0+real5prealpha+1-15ubuntu5"
},
{
"binary_name": "pocketsphinx",
"binary_version": "0.8.0+real5prealpha+1-15ubuntu5"
},
{
"binary_name": "pocketsphinx-en-us",
"binary_version": "0.8.0+real5prealpha+1-15ubuntu5"
},
{
"binary_name": "pocketsphinx-testdata",
"binary_version": "0.8.0+real5prealpha+1-15ubuntu5"
},
{
"binary_name": "swig-pocketsphinx",
"binary_version": "0.8.0+real5prealpha+1-15ubuntu5"
}
]
},
"package": {
"ecosystem": "Ubuntu:24.04:LTS",
"name": "pocketsphinx",
"purl": "pkg:deb/ubuntu/pocketsphinx@0.8.0+real5prealpha+1-15ubuntu5?arch=source\u0026distro=noble"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"0.8.0+real5prealpha+1-15ubuntu1",
"0.8.0+real5prealpha+1-15ubuntu4",
"0.8.0+real5prealpha+1-15ubuntu5"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "gstreamer1.0-pocketsphinx",
"binary_version": "5.0.4-3ubuntu1"
},
{
"binary_name": "libpocketsphinx5",
"binary_version": "5.0.4-3ubuntu1"
},
{
"binary_name": "pocketsphinx",
"binary_version": "5.0.4-3ubuntu1"
},
{
"binary_name": "pocketsphinx-en-us",
"binary_version": "5.0.4-3ubuntu1"
},
{
"binary_name": "pocketsphinx-testdata",
"binary_version": "5.0.4-3ubuntu1"
}
]
},
"package": {
"ecosystem": "Ubuntu:26.04:LTS",
"name": "pocketsphinx",
"purl": "pkg:deb/ubuntu/pocketsphinx@5.0.4-3ubuntu1?arch=source\u0026distro=resolute"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"0.8.0+real5prealpha+1-15ubuntu5",
"0.8.0+real5prealpha+1-15ubuntu6",
"5.0.4-3ubuntu1"
]
}
],
"aliases": [],
"details": "PocketSphinx is a small speech recognizer. Prior to 5.1.1, the trie language-model loaders in src/lm/ngram_model_trie.c do not adequately validate boundary conditions in ARPA, DMP, and binary format headers, and the acoustic-model loaders in src/mdef.c and src/util/bio.c use sscanf with unbounded string fields. Loading an invalid, corrupted, or malicious language or acoustic model can therefore cause stack or heap buffer overflows and memory corruption. An attacker who can write to a directory selected by POCKETSPHINX_PATH can replace or add a model file that PocketSphinx later loads; users of PocketSphinx 5prealpha have no backported patch and must migrate to the fixed release. This issue is fixed in version 5.1.1.",
"id": "UBUNTU-CVE-2026-54559",
"modified": "2026-09-14T20:16:00Z",
"published": "2026-09-14T20:16:00Z",
"references": [
{
"type": "REPORT",
"url": "https://ubuntu.com/security/CVE-2026-54559"
},
{
"type": "REPORT",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-54559"
},
{
"type": "REPORT",
"url": "https://github.com/cmusphinx/pocketsphinx/commit/2a3c03788a9973eff548664334fb781e9f4ad4a5"
},
{
"type": "REPORT",
"url": "https://github.com/cmusphinx/pocketsphinx/releases/tag/v5.1.1"
},
{
"type": "REPORT",
"url": "https://github.com/cmusphinx/pocketsphinx/security/advisories/GHSA-56r5-2p2f-7cxp"
}
],
"related": [],
"schema_version": "1.7.0",
"severity": [
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
},
{
"score": "medium",
"type": "Ubuntu"
}
],
"upstream": [
"CVE-2026-54559"
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.