Du vundeblecoj en GRUB2, kiuj permesas vin preteriri UEFI Secure Boot-protekton

Informoj estis malkaŝitaj pri du vundeblecoj en la GRUB2-ŝargilo, kiuj povas konduki al koda ekzekuto dum uzado de speciale desegnitaj tiparoj kaj prilaborado de certaj Unikodaj sekvencoj. Vundeblecoj povas esti uzataj por preteriri la kontrolitan lanĉan mekanismon de UEFI Secure Boot.

Identigitaj vundeblecoj:

  • CVE-2022-2601 - Bufera superfluo en la funkcio grub_font_construct_glyph() dum prilaborado de speciale desegnitaj tiparoj en la formato pf2, kiu okazas pro malĝusta kalkulo de la parametro max_glyph_size kaj la atribuo de memorareo kiu estas evidente pli malgranda ol necesa por alĝustigi la glifojn.
  • CVE-2022-3775 Eksterlima skribo okazas dum bildigo de iuj Unikodaj sekvencoj en speciale stilita tiparo. La problemo estas en la tiparo prilaborado kaj estas kaŭzita de manko de taŭgaj kontroloj por certigi ke la larĝo kaj alto de la glifo kongruas kun la grandeco de la disponebla bitmapo. Atakanto povas krei la enigaĵon tiel ke la vosto de la datenoj estu skribita al la ekstero de la asignita bufro. Oni rimarkas, ke malgraŭ la komplekseco de ekspluatado de la vundebleco, alporti la problemon al koda ekzekuto ne estas ekskludita.

La riparo estis publikigita kiel flikaĵo. La stato de elimini vundeblecojn en distribuoj povas esti taksita sur ĉi tiuj paĝoj: Ubuntu, SUSE, RHEL, Fedora, Debian. Por ripari problemojn en GRUB2, ne sufiĉas nur ĝisdatigi la pakaĵon; vi ankaŭ devos generi novajn internajn ciferecajn subskribojn kaj ĝisdatigi instalilojn, ekŝargilojn, kernajn pakaĵojn, fwupd-firmvaro kaj shim-tavolon.

Plej multaj Linuksaj distribuoj uzas malgrandan shim-tavolon ciferece subskribitan de Microsoft por kontrolita lanĉado en UEFI Secure Boot-reĝimo. Ĉi tiu tavolo kontrolas GRUB2 per sia propra atestilo, kio permesas al distribuaj programistoj ne havi ĉiun kernon kaj GRUB-ĝisdatigon atestita de Microsoft. Vundeblecoj en GRUB2 ebligas al vi atingi la ekzekuton de via kodo en la stadio post sukcesa shim-kontrolo, sed antaŭ ol ŝarĝi la operaciumon, kojni en la ĉenon de fido kiam Secure Boot-reĝimo estas aktiva kaj akiri plenan kontrolon de la plua lanĉa procezo, inkluzive ŝarĝante alian OS, modifante sistemon de komponantoj de operaciumo kaj preterpasi protekton de Lockdown.

Por bloki la vundeblecon sen revoko de la cifereca subskribo, distribuoj povas uzi la mekanismon SBAT (UEFI Secure Boot Advanced Targeting), kiu estas subtenata por GRUB2, shim kaj fwupd en plej popularaj Linuksaj distribuoj. SBAT estis evoluigita kune kun Mikrosofto kaj implikas aldoni pliajn metadatenojn al la ruleblaj dosieroj de UEFI-komponentoj, kiuj inkluzivas informojn pri la fabrikanto, produkto, komponento kaj versio. La specifitaj metadatenoj estas atestitaj per cifereca subskribo kaj povas esti aparte inkluditaj en la listoj de permesitaj aŭ malpermesitaj komponantoj por UEFI Secure Boot.

SBAT permesas al vi bloki la uzon de ciferecaj subskriboj por individuaj komponaj versinumeroj sen devi revoki ŝlosilojn por Secure Boot. Bloki vundeblecojn per SBAT ne postulas la uzon de UEFI-atestila revoka listo (dbx), sed estas farita je la nivelo de anstataŭigado de la interna ŝlosilo por generi subskribojn kaj ĝisdatigi GRUB2, shim kaj aliajn lantajn artefaktojn liveritaj de distribuoj. Antaŭ la enkonduko de SBAT, ĝisdatigi la atestilliston (dbx, UEFI Revocation List) estis antaŭkondiĉo por tute bloki la vundeblecon, ĉar atakanto, sendepende de la mastruma sistemo uzata, povus uzi starteblajn rimedojn kun malnova vundebla versio de GRUB2, atestita per cifereca subskribo, por kompromiti UEFI Secure Boot.

fonto: opennet.ru

Aldoni komenton