CVE-2026-54334
KrytyczneCVSS 9.8Streszczenie
UEFI Firmware Parser przed wersją 1.14 zawiera błąd w ReadCLen() w uefi_firmware/compression/Tiano/Decompress.c, gdzie odczyt Number z GetBits(Sd, CBIT) z CBIT = 9 może uzyskać 511 wpisów dla 510-elementowej tablicy Sd->mCLen, ponieważ pętla nie wymusza Index < NC. Ścieżka run-length CharC == 2 może dodatkowo zażądać do 531 zapisów zerowych przez Sd->mCLen[Index++] = 0. Złośliwe oprogramowanie układowe Tiano lub EFI może uszkodzić pamięć sterty, spowodować awarię procesu parsowania i potencjalnie wykonać kod. Luka została naprawiona w wersji 1.14.
Ocena ryzyka
Atakujący może dostarczyć złośliwe oprogramowanie układowe, które uszkodzi pamięć i potencjalnie wykona kod, co może prowadzić do przejęcia kontroli nad procesem parsującym.
Rekomendacja
Zaktualizuj UEFI Firmware Parser do wersji 1.14 lub nowszej oraz unikaj parsowania niezaufanych obrazów oprogramowania układowego.
Inne podatności w UEFI Firmware Parser
Oryginalny opis (angielski, źródło NVD)
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.

