Au fost publicate informații despre 21 de vulnerabilități în bootloaderul GRUB2, majoritatea dintre care conduc la depășiri de tampon și pot fi utilizate pentru a ocoli mecanismul de verificare a boot-ului UEFI Secure Boot. Problemele au fost corectate deocamdată doar sub forma unui patch. Starea remedierii vulnerabilităților în distribuții poate fi evaluată pe aceste pagini: Debian, Ubuntu, SUSE, RHEL, Fedora. Pentru a remedia problemele în GRUB2, nu este suficient să actualizați doar pachetul, este necesar să generați noi semnături digitale interne și să actualizați instalatoarele, bootloader-ele, pachetele cu kernel, firmware-urile fwupd și stratul shim.
Vulnerabilitățile identificate:
- CVE-2024-45774: scriere în afara tamponului la analizarea imaginilor JPEG special concepute.
- CVE-2024-45776, CVE-2024-45777: depășiri de tampon la citirea fișierelor mo special concepute, ducând la scriere în afara tamponului.
- CVE-2024-45778, CVE-2024-45779: depășiri de tampon în lucrul cu un sistem de fișiere BFS corupt, conducând la depășiri de tampon.
- CVE-2024-45780: depășire de tampon la procesarea arhivelor tar special concepute, ducând la scriere în afara tamponului.
- CVE-2024-45781, CVE-2025-0677: depășiri de tampon în lucrul cu un sistem de fișiere UFS corupt.
- CVE-2024-45782, CVE-2025-1125: depășiri de tampon la montarea unei partiții HFS special concepute.
- CVE-2025-0622: acces la memorie după eliberare în manipularea modulelor, ceea ce poate duce la executarea codului atacatorului.
- CVE-2025-0624: depășire de tampon la bootarea de rețea.
- CVE-2025-0678: depășiri de tampon în lucrul cu un sistem de fișiere Squash4 corupt.
- CVE-2025-0684: depășiri de tampon în manipularea link-urilor simbolice în FS Reiserfs.
- CVE-2025-0685: depășiri de tampon în manipularea link-urilor simbolice în FS JFS.
- CVE-2025-0685: depășiri de tampon în manipularea link-urilor simbolice în FS ROMFS.
- CVE-2025-0689: depășiri de tampon în lucrul cu o partiție UDF special modificată.
- CVE-2025-0690: depășiri de tampon la primirea datelor special concepute de pe tastatură.
- CVE-2025-1118: ocolirea modulului de izolare Lockdown și extragerea conținutului aleator al memoriei prin executarea comenzii dump.
- CVE-2024-45775: absența verificării codului de eroare în alocarea memoriei la analizarea argumentelor transmise poate duce la coruperea datelor IVT (Interrupt Vector Table).
- CVE-2024-45783: acces prin pointer nul la montarea unui FS HFS+ incorect.
În majoritatea distribuțiilor Linux, pentru verificarea încărcării în modul UEFI Secure Boot se folosește un strat mic numit shim, certificat prin semnătura digitală a Microsoft. Acest strat verifică GRUB2 cu propriul certificat, ceea ce permite dezvoltatorilor de distribuții să nu certifice fiecare actualizare a kernel-ului și GRUB la Microsoft. Vulnerabilitățile din GRUB2 permit executarea de cod personalizat după verificarea cu succes a shim-ului, dar înainte de încărcarea sistemului de operare, infiltrându-se în lanțul de încredere în modul Secure Boot activ și obținând control total asupra procesului de încărcare ulterioare, de exemplu, pentru a încărca un alt sistem de operare, a modifica componentele sistemului de operare și a ocoli protecția Lockdown.
Pentru blocarea vulnerabilității fără revocarea semnăturii digitale, distribuțiile pot utiliza mecanismul SBAT (UEFI Secure Boot Advanced Targeting), pentru care suportul este implementat în GRUB2, shim și fwupd în cele mai populare distribuții Linux. SBAT a fost dezvoltat în colaborare cu Microsoft și prevede adăugarea de metadate suplimentare în fișierele executabile ale componentelor UEFI, care includ informații despre producător, produs, componentă și versiune. Aceste metadate sunt semnate digital și pot fi incluse separat în listele de componente permise sau interzise pentru UEFI Secure Boot.
SBAT permite blocarea utilizării semnăturii digitale pentru anumite versiuni ale componentelor fără a fi necesară revocarea cheilor pentru Secure Boot. Blocarea vulnerabilităților prin SBAT nu necesită utilizarea listei de certificate revocate UEFI (dbx), și se realizează la nivelul înlocuirii cheii interne pentru formarea semnăturilor și actualizarea GRUB2, shim și altor artefacte de boot livrate de distribuții. Până la implementarea SBAT, actualizarea listei de certificate revocate (dbx, Lista de Revocare UEFI) era o condiție obligatorie pentru blocarea completă a vulnerabilității, deoarece atacatorul, indiferent de sistemul de operare folosit, putea compromite UEFI Secure Boot utilizând un mediu de boot cu o versiune veche vulnerabilă a GRUB2, certificat cu o semnătură digitală.
Sursa: opennet.ro
