A GRUB2-ben található sebezhetőségek lehetővé teszik az UEFI Secure Boot megkerülését

A GRUB2 bootloader patch has addressed 7 vulnerabilities that allow bypassing the UEFI Secure Boot mechanism, enabling the execution of unverified code, such as the injection of malware operating at the bootloader or kernel level. Additionally, there is one vulnerability in the shim layer that also allows bypassing UEFI Secure Boot. This group of vulnerabilities is codenamed Boothole 3, similar to previously identified issues in the bootloader.

To resolve issues in GRUB2 and shim, distributions will be able to use the SBAT (UEFI Secure Boot Advanced Targeting) mechanism, which is supported for GRUB2, shim, and fwupd. SBAT has been developed in collaboration with Microsoft and involves adding additional metadata to the executable files of UEFI components, which includes information on manufacturer, product, component, and version. These metadata are digitally signed and can separately be included in the lists of allowed or disallowed components for UEFI Secure Boot.

In most Linux distributions, a small shim layer, signed by Microsoft's digital signature, is used for verified boot in UEFI Secure Boot mode. This shim verifies GRUB2 with its own certificate, allowing distribution developers not to sign every kernel and GRUB update with Microsoft. Vulnerabilities in GRUB2 enable the execution of one's code at the stage after successful shim verification but before the operating system loads, intercepting the trust chain while Secure Boot is active and gaining full control over the subsequent boot process, including booting another OS, modifying operating system components, and bypassing Lockdown protection.

To resolve issues in the bootloader, distributions will need to generate new internal digital signatures and update installers, bootloaders, kernel packages, fwupd firmware, and the shim layer. Prior to the adoption of SBAT, updating the list of revoked certificates (dbx, UEFI Revocation List) was a mandatory condition for fully blocking the vulnerability, as an attacker, regardless of the operating system used, could compromise UEFI Secure Boot using a bootable medium with an old vulnerable version of GRUB2, signed with a digital signature.

A SBAT aláírása lehetővé teszi az egyes verziószámú komponensek használatának letiltását anélkül, hogy vissza kellene vonni a Secure Boot kulcsait. Az SBAT révén történő sebezhetőségek letiltása nem igényel UEFI visszavont tanúsítványok listájának (dbx) használatát, mivel a belső kulcs cseréjének szintjén történik az aláírások létrehozása és a GRUB2, shim és más, forgalmazóktól származó indító artefaktumok frissítése. Jelenleg a legtöbb népszerű Linux disztribúció már támogatja az SBAT-ot.

Feltárt sebezhetőségek:

  • CVE-2021-3696, CVE-2021-3695 - puffertúlfolyás a heap-en kifejezetten formázott PNG-képek feldolgozása során, amely elméletileg felhasználható a támadó kódjának végrehajtására és az UEFI Secure Boot megkerülésére. Megjegyzendő, hogy a probléma nehezen kihasználható, mivel a működő exploit létrehozásához számos tényező figyelembevételére és a memóriaelrendezés ismeretére van szükség.
  • CVE-2021-3697 - alsó határon történő puffertúlfolyás JPEG-képek feldolgozása közben. A hiba kihasználásához a memóriaelrendezés ismerete szükséges, és nagyjából ugyanolyan bonyolult, mint a PNG problémája (CVSS 7.5).
  • CVE-2022-28733 - egész számú puffertúlfolyás a grub_net_recv_ip4_packets() függvényben, amely lehetővé teszi az rsm->total_len paraméter befolyásolását egy kifejezetten formázott IP-csomag küldésével. A probléma a legveszélyesebbnek minősül a bemutatott sebezhetőségek közül (CVSS 8.1). Sikeres kihasználás esetén a sebezhetőség lehetővé teszi az adatok írását a pufferen kívülre egy szándékosan kisebb memóriaallokáción keresztül.
  • CVE-2022-28734 - egydobozos puffertúlfolyás a szétválasztott HTTP-fejlécek feldolgozása esetén. A probléma a GRUB2 metaadatainak sérüléséhez vezethet (null byte írása a puffer vége után) kifejezetten formázott HTTP-kérelmek elemzésekor.
  • CVE-2022-28735 - probléma a shim_lock verifikátorban, amely lehetővé teszi olyan fájlok betöltését, amelyek nem tartoznak a kernelhez. A sebezhetőség kihasználható a nem aláírt digitális aláírású kernel modulok vagy megbízhatatlan kódok UEFI Secure Boot módjában való betöltésére.
  • CVE-2022-28736 — már felszabadított memória területének eléréséről van szó a grub_cmd_chainloader() funkcióban, a chainloader parancs újbóli indításán keresztül, amelyet nem támogatott operációs rendszerek indítására használnak a GRUB2-ben. A kihasználás végrehajtásához szükséges, hogy a támadó képes legyen meghatározni a memóriaeloszlás jellemzőit a GRUB2-ben.
  • CVE-2022-28737 — puffertúlcsordulás a shim rétegben, amely a handle_image() funkcióban lép fel, amikor speciálisan kialakított EFI képek betöltését és végrehajtását hajtják végre.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster