Chyba v knihovně GNU C Library (glibc) ohrožuje servery s PHP

23. 4. 2024

Sdílet

Security alert bezpečnostní varování chyba poplach Autor: Depositphotos

Charles Fol objevil ve standardní knihovně GNU C (glibc) chybu starou 24 let. Problém se konkrétně nachází ve funkci iconv() v knihovně GNU C verze 2.39 a starší. Při převodu řetězců na znakovou sadu ISO-2022-CN-EXT může přetéct výstupní vyrovnávací paměť až o čtyři bajty, což může vést k pádu aplikace nebo k přepsání sousední proměnné.

Jde o klasické přetečení bufferu, které je ale jen zřídka zneužitelné, protože vyžaduje těžko splnitelné předběžné podmínky. Ukázalo se však, že v kombinaci s PHP umožňuje napadení aplikace a kompromitaci serveru. Chyba zatím není opravena ve všech distribucích, Debian postupně vydává opravené balíčky a Ubuntu už opravené balíky uvolnilo.

Vývojáři Rocky Linuxu zveřejnili způsob, jak problém vyřešit na zranitelném systému. Je potřeba vypnout ohroženou znakovou sadu. Nejprve můžete ověřit, zda je váš systém zranitelný:

$ iconv -l | grep -E 'CN-?EXT'
ISO-2022-CN-EXT//
ISO2022CNEXT//

Pokud výpis vypadá takto, je váš systém zranitelný. Pak je potřeba editovat soubor /usr/lib64/gconv/gconv-modules.d/gconv-modules-extra.conf a v něm od řádky 1254 zakomentovat následující řádky:

alias ISO2022CNEXT//          ISO-2022-CN-EXT//
 module        ISO-2022-CN-EXT//       INTERNAL                ISO-2022-CN-EXT 1
 module        INTERNAL                ISO-2022-CN-EXT//       ISO-2022-CN-EXT 1

V Debianu se soubor nachází na cestě /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.d/gconv-modules-extra.conf, v Ubuntu pak na  /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.

Poté jako root spusťte příkaz iconvconfig pro přegenerování keše. Druhou variantou je vyprázdnění obsahu souboru /usr/lib64/gconv/gconv-modules.cache. Poté by výše uvedený test neměl mít na výstupu žádný obsah, což značí vypnutí problémové znakové sady a zabezpečení systému proti zneužití chyby.

Našli jste v článku chybu?

Autor zprávičky

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.