Π”Π²Π΅ уязвимости Π² GRUB2, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΠΈ позволяват Π΄Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈΡ‚Π΅ Π·Π°Ρ‰ΠΈΡ‚Π°Ρ‚Π° Π½Π° UEFI Secure Boot

Π‘Π΅ΡˆΠ΅ Ρ€Π°Π·ΠΊΡ€ΠΈΡ‚Π° информация Π·Π° Π΄Π²Π΅ уязвимости Π² Π±ΡƒΡƒΡ‚Π»ΠΎΡƒΠ΄ΡŠΡ€Π° GRUB2, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π°Ρ‚ Π΄ΠΎ изпълнСниС Π½Π° ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° спСциално ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ΠΈ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ²Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Unicode послСдоватСлности. УязвимоститС ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° заобикалянС Π½Π° провСрСния ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° UEFI Secure Boot.

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΈ уязвимости:

  • CVE-2022-2601 - ΠŸΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° във функцията grub_font_construct_glyph() ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° спСциално ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ΠΈ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ²Π΅ във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ pf2, ΠΊΠΎΠ΅Ρ‚ΠΎ възниква ΠΏΠΎΡ€Π°Π΄ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ изчисляванС Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° max_glyph_size ΠΈ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° област ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, която ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ° ΠΎΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°Ρ‚Π° Π·Π° ΠΏΠΎΠ±Π΅Ρ€Π΅Ρ‚Π΅ Π³Π»ΠΈΡ„ΠΎΠ²Π΅Ρ‚Π΅.
  • CVE-2022-3775 Запис извън Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ възниква ΠΏΡ€ΠΈ Ρ€Π΅Π½Π΄ΠΈΡ€Π°Π½Π΅ Π½Π° някои Unicode послСдоватСлности Π² спСциално стилизиран ΡˆΡ€ΠΈΡ„Ρ‚. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ Π² ΠΊΠΎΠ΄Π° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΡˆΡ€ΠΈΡ„Ρ‚Π° ΠΈ Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ ΠΎΡ‚ липсата Π½Π° подходящи ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Π·Π° Π΄Π° сС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°, Ρ‡Π΅ ΡˆΠΈΡ€ΠΈΠ½Π°Ρ‚Π° ΠΈ височината Π½Π° Π³Π»ΠΈΡ„Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‚ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Π½Π°Π»ΠΈΡ‡Π½ΠΎΡ‚ΠΎ растСрно ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. НападатСлят ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²Ρ…ΠΎΠ΄Π° ΠΏΠΎ Ρ‚Π°ΠΊΡŠΠ² Π½Π°Ρ‡ΠΈΠ½, Ρ‡Π΅ Π΄Π° Π½Π°ΠΊΠ°Ρ€Π° ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π΄Π° бъдС записана извън разпрСдСлСния Π±ΡƒΡ„Π΅Ρ€. ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π° сС, Ρ‡Π΅ Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ слоТността Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° уязвимостта, Π½Π΅ Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ прСнасянСто Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π΄ΠΎ изпълнСниС Π½Π° ΠΊΠΎΠ΄.

ΠšΠΎΡ€Π΅ΠΊΡ†ΠΈΡΡ‚Π° Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° ΠΊΠ°Ρ‚ΠΎ корСкция. Π‘ΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° уязвимоститС Π² дистрибуциитС ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΎΡ†Π΅Π½Π΅Π½ΠΎ Π½Π° Ρ‚Π΅Π·ΠΈ страници: Ubuntu, SUSE, RHEL, Fedora, Debian. Π—Π° Π΄Π° ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π² GRUB2, Π½Π΅ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ само Π΄Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°; Ρ‰Π΅ трябва ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΄Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚Π΅ Π½ΠΎΠ²ΠΈ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΈ подписи ΠΈ Π΄Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ инсталатори, Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‰ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π½Π° ядрото, fwupd Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€ ΠΈ shim слой.

ΠŸΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ дистрибуции Π½Π° Linux ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ малък shim слой, Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎ подписан ΠΎΡ‚ Microsoft Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌ UEFI Secure Boot. Π’ΠΎΠ·ΠΈ слой провСрява GRUB2 със собствСн сСртификат, ΠΊΠΎΠΉΡ‚ΠΎ позволява Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° разпространСниС Π΄Π° Π½Π΅ ΠΈΠΌΠ°Ρ‚ всяко ядро ​​и актуализация Π½Π° GRUB, сСртифицирани ΠΎΡ‚ Microsoft. УязвимоститС Π² GRUB2 Π²ΠΈ позволяват Π΄Π° постигнСтС ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° вашия ΠΊΠΎΠ΄ Π½Π° Π΅Ρ‚Π°ΠΏΠ° слСд ΡƒΡΠΏΠ΅ΡˆΠ½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° shim, Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΈ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма, вклиняванС във Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π° Π½Π° Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π΅ΠΆΠΈΠΌΡŠΡ‚ Secure Boot Π΅ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° пълСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π²ΡŠΡ€Ρ…Ρƒ ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΡˆΠ½ΠΈΡ процСс Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄Ρ€ΡƒΠ³Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма систСма ΠΈ заобикалянС Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π°Ρ‚Π° ΠΏΡ€ΠΈ Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅.

Π—Π° Π΄Π° Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‚ уязвимостта, Π±Π΅Π· Π΄Π° отмСнят цифровия подпис, дистрибуциитС ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° SBAT (UEFI Secure Boot Advanced Targeting), ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π·Π° GRUB2, shim ΠΈ fwupd Π² ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ популярни Linux дистрибуции. SBAT Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚Π½ΠΎ с Microsoft ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π° добавянС Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ към ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΠΌΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° UEFI, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π° информация Π·Π° производитСля, ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΈ вСрсията. ΠŸΠΎΡΠΎΡ‡Π΅Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ са сСртифицирани с Ρ†ΠΈΡ„Ρ€ΠΎΠ² подпис ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ Π² ΡΠΏΠΈΡΡŠΡ†ΠΈΡ‚Π΅ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Π·Π°Π±Ρ€Π°Π½Π΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π·Π° UEFI Secure Boot.

SBAT Π²ΠΈ позволява Π΄Π° Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΈ подписи Π·Π° Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° вСрсията Π½Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, Π±Π΅Π· Π΄Π° сС Π½Π°Π»Π°Π³Π° Π΄Π° отмСнятС ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ Π·Π° Secure Boot. Π‘Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° уязвимости Ρ‡Ρ€Π΅Π· SBAT Π½Π΅ изисква ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° списък Π·Π° Π°Π½ΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° UEFI сСртификати (dbx), Π½ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π½Π° Π½ΠΈΠ²ΠΎ замяна Π½Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ ΠΊΠ»ΡŽΡ‡ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° подписи ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° GRUB2, shim ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΈ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅, прСдоставСни ΠΎΡ‚ дистрибуции. ΠŸΡ€Π΅Π΄ΠΈ Π²ΡŠΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° SBAT, Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° списъка с Π°Π½ΡƒΠ»ΠΈΡ€Π°Π½ΠΈ сСртификати (dbx, UEFI Revocation List) бСшС прСдпоставка Π·Π° пълно Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ Π½Π° уязвимостта, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ атакуващият, нСзависимо ΠΎΡ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π°Ρ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма, моТСшС Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° стартиращ носитСл със стара уязвима вСрсия Π½Π° GRUB2, сСртифицирани с Ρ†ΠΈΡ„Ρ€ΠΎΠ² подпис, Π·Π° ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° UEFI Secure Boot.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€