UEFI Firmware Parser: Heap out-of-bounds write in tiano decompressor `ReadCLen`
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| theopolis | uefi-firmware-parser | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Theopolis | Uefi-firmware-parser |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-hm2w-vr2p-hq7w | UEFI Firmware Parser has a heap out-of-bounds write in tiano decompressor ReadCLen |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.801% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Theopolis
Theopolis uefi-firmware-parser |
|
| Vendors & Products |
Theopolis
Theopolis uefi-firmware-parser |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | UEFI Firmware Parser: Heap out-of-bounds write in tiano decompressor `ReadCLen` | |
| Weaknesses | CWE-787 | |
| References |
|
|
| Metrics |
cvssV3_1
|