Zranitelnost v balíčcích OpenSSH obsažených v RHEL 9, umožňující vzdálené spuštění kódu.

V procesu zkoumání nedávno nalezené kritické zranitelnosti v OpenSSH byla objevena další podobná zranitelnost (CVE-2024-6409), která umožňuje vzdálené vykonání kódu bez ověření. Nová zranitelnost není tak nebezpečná jako ta předchozí, protože se projevuje po snížení privilegií v spuštěném podprocesu SSH serveru. Zranitelnost se nachází v balíčcích openssh z distribuce Red Hat Enterprise Linux 9, založených na publikované verzi OpenSSH 8.7 z roku 2021. Problém se také týká balíčků pro Fedora Linux 36 a 37, které jsou založeny na verzích OpenSSH 8.7 a 8.8.

Z podstaty je zranitelnost podobná předchozímu problému a je také způsobena stavem závodu v obslužné rutině přerušení SIGALRM, který vzniká z provádění funkcí, které nejsou navrženy pro vyvolání v asynchronním režimu z obslužných rutin signálů. Obslužná rutina se aktivuje při vypršení časového limitu určeného pomocí parametru LoginGraceTime a přerušuje aktuální vykonávání kódu. Použití v obslužné rutině přerušení nenavržených pro asynchronní vykonávání funkcí, v nichž se používá dynamická alokace paměti, jako je syslog(), může vést k poškození vnitřních struktur malloc při vyvolání SIGALRM během vykonávání určitého kódu.

Nová zranitelnost se liší tím, že stav závodu nastává z důvodu vyvolání funkce cleanup_exit() v obslužné rutině signálu grace_alarm_handler(). V hlavním kódu OpenSSH může být tato funkce použita v asynchronně vykonávaném kódu, ale v balíčcích pro RHEL 9 a Fedora byl použit dodatečný patch, který do cleanup_exit() přidává volání funkce pro generování událostí auditu, navržené k použití v obslužných rutinách signálů.

Tento patch byl použit v RHEL 9 a odvozených distribucích v balíčcích založených na OpenSSH 8.7p1. V aktuálních vydáních Fedora se problém neprojevuje, protože od Fedora 38 distribuce přešla na novější verzi OpenSSH bez změny cleanup_exit(). Na rozdíl od předchozí zranitelnosti není pro blokování nového problému vhodná obraná metoda založená na použití možnosti „-e“ v sshd, která vypíná výstup logu přes syslog. Nicméně pro zablokování zranitelnosti v sshd_config lze nastavit parametr „LoginGraceTime=0“.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster