UEFI Firmware Parser: Heap out-of-bounds write in tiano decompressor `ReadCLen` (theopolis uefi-firmware-parser)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.80 % Β· percentile 57 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- GitHub_M
- NVD status
- Deferred
Description
UEFI Firmware Parser parses BIOS, Intel ME, and UEFI firmware structures including volumes, file systems, and files. Prior to 1.14, ReadCLen() in uefi_firmware/compression/Tiano/Decompress.c reads Number from GetBits(Sd, CBIT) with CBIT = 9 and can obtain 511 entries for the 510-element Sd->mCLen heap array because its loop does not enforce Index < NC. The CharC == 2 run-length path can additionally request up to 531 zero writes through Sd->mCLen[Index++] = 0. The normal CompressedSection.process() to efi_compressor.TianoDecompress() to TianoDecompress() to DecodeC() to ReadCLen() parsing path therefore permits crafted Tiano or EFI compressed firmware to corrupt heap memory, deterministically crash the parsing process, and potentially execute code depending on build and runtime details. This issue is fixed in version 1.14.
Weaknesses (CWE)
- CWE-787 β Out-of-bounds Write
References
- https://github.com/theopolis/uefi-firmware-parser/security/advisories/GHSA-hm2w-vr2p-hq7w
- https://github.com/theopolis/uefi-firmware-parser/pull/145
- https://github.com/theopolis/uefi-firmware-parser/commit/bf3dfaa8a05675bae6ea0cbfa082ddcebfcde23e
- https://github.com/theopolis/uefi-firmware-parser/releases/tag/v1.14
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | CRITICAL 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | GitHub_M |
| CVSS 3.1 | CRITICAL 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | NVD Β· security-advisories@github.com (Secondary) |
Advisories
- GHSA-hm2w-vr2p-hq7w β UEFI Firmware Parser has a heap out-of-bounds write in tiano decompressor ReadCLen
- PYSEC-2026-3394 β UEFI Firmware Parser has a heap out-of-bounds write in tiano decompressor ReadCLen
European references
- ENISA EUVD Β· EUVD-2026-78065
- GCVE Β· GCVE-0-2026-54334
Affected products
| Product | Versions |
|---|---|
| theopolis Β· uefi-firmware-parser | affected < 1.14 |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST β attribution requested |
| ENISA EUVD | ENISA β reproduction authorised, source acknowledged |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain β this product uses data from the NVD API but is not endorsed or certified by the NVD |