Dalawang kahinaan sa GRUB2 na nagbibigay-daan sa iyong i-bypass ang proteksyon ng UEFI Secure Boot

Раскрыты свСдСния ΠΎ Π΄Π²ΡƒΡ… уязвимостях Π² Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ΅ GRUB2, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ использовании ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹Ρ… ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Unicode-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ. Уязвимости ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ UEFI Secure Boot.

Natukoy na mga kahinaan:

  • CVE-2022-2601 β€” ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ grub_font_construct_glyph() ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹Ρ… ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ pf2, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π΅Π΅ ΠΈΠ·-Π·Π° Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ расчёта ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° max_glyph_size ΠΈ выдСлСния области памяти, Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ мСньшСй, Ρ‡Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для размСщСния Π³Π»ΠΈΡ„ΠΎΠ².
  • CVE-2022-3775 β€” запись Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ области памяти ΠΏΡ€ΠΈ отрисовкС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Unicode ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° присутствуСт Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² ΠΈ Π²Ρ‹Π·Π²Π°Π½Π° отсутствиСм Π΄ΠΎΠ»ΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ соотвСтствия ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ высоты Π³Π»ΠΈΡ„Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉΡΡ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Ρ‹. ΠΡ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ запись хвоста Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π°. ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ нСсмотря Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ эксплуатации уязвимости, Π΄ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π΄ΠΎ выполнСния ΠΊΠΎΠ΄Π° Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ.

Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ‚Ρ‡Π°. Бтатус устранСния уязвимостСй Π² дистрибутивах ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π½Π° Π΄Π°Π½Π½Ρ‹Ρ… страницах: Ubuntu, SUSE, RHEL, Fedora, Debian. Для устранСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² GRUB2 нСдостаточно просто ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚, потрСбуСтся Ρ‚Π°ΠΊΠΆΠ΅ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ подписи ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ инсталляторы, Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ, ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ с ядром, fwupd-ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΈ shim-прослойку.

Karamihan sa mga distribusyon ng Linux ay gumagamit ng maliit na shim layer na digital na nilagdaan ng Microsoft para sa na-verify na pag-boot sa UEFI Secure Boot mode. Bine-verify ng layer na ito ang GRUB2 gamit ang sarili nitong certificate, na nagpapahintulot sa mga developer ng pamamahagi na hindi magkaroon ng bawat kernel at GRUB update na na-certify ng Microsoft. Ang mga kahinaan sa GRUB2 ay nagbibigay-daan sa iyo upang makamit ang pagpapatupad ng iyong code sa yugto pagkatapos ng matagumpay na pag-verify ng shim, ngunit bago i-load ang operating system, wedging sa chain of trust kapag aktibo ang Secure Boot mode at pagkakaroon ng ganap na kontrol sa karagdagang proseso ng boot, kabilang ang naglo-load ng isa pang OS, binabago ang operating system na mga bahagi ng system at i-bypass ang proteksyon ng Lockdown.

Upang harangan ang kahinaan nang hindi binabawi ang digital na lagda, maaaring gamitin ng mga distribusyon ang mekanismo ng SBAT (UEFI Secure Boot Advanced Targeting), na sinusuportahan para sa GRUB2, shim at fwupd sa pinakasikat na mga distribusyon ng Linux. Ang SBAT ay binuo nang magkasama sa Microsoft at nagsasangkot ng pagdaragdag ng karagdagang metadata sa mga executable na file ng mga bahagi ng UEFI, na kinabibilangan ng impormasyon tungkol sa tagagawa, produkto, bahagi at bersyon. Ang tinukoy na metadata ay na-certify gamit ang isang digital na lagda at maaaring hiwalay na isama sa mga listahan ng pinapayagan o ipinagbabawal na mga bahagi para sa UEFI Secure Boot.

SBAT позволяСт Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ использованиС Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² вСрсий ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π±Π΅Π· нСобходимости ΠΎΡ‚Π·Ρ‹Π²Π° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ для Secure Boot. Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ уязвимостСй Ρ‡Π΅Ρ€Π΅Π· SBAT Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования списка ΠΎΡ‚ΠΎΠ·Π²Π°Π½Π½Ρ‹Ρ… сСртификатов UEFI (dbx), Π° производится Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π·Π°ΠΌΠ΅Π½Ρ‹ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ ΠΊΠ»ΡŽΡ‡Π° для формирования подписСй ΠΈ обновлСния GRUB2, shim ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… поставляСмых дистрибутивами Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Ρ… Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ². Π”ΠΎ внСдрСния SBAT, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ списка ΠΎΡ‚ΠΎΠ·Π²Π°Π½Π½Ρ‹Ρ… сСртификатов (dbx, UEFI Revocation List) Π±Ρ‹Π»ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ условиСм ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ блокирования уязвимости, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ, нСзависимо ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, ΠΌΠΎΠ³ для ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΠΈ UEFI Secure Boot ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒ со старой уязвимой вСрсиСй GRUB2, Π·Π°Π²Π΅Ρ€Π΅Π½Π½ΠΎΠΉ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписью.

Pinagmulan: opennet.ru

Magdagdag ng komento