Bezpečnost Linuxu čelí další výzvě po objevení... zranitelnost CVE-2026-31431 s názvem „Selhání kopírování“ výzkumníky z Xint Code. Tento konstrukční problém zdaleka není jen teoretickou chybou, ale Umožňuje lokálnímu uživateli bez oprávnění zvýšit svá oprávnění a získat plný přístup. jako superuživatel předvídatelným a tichým způsobem.
Výzkumníci uvádějí, že tato zranitelnost byla úspěšně zneužita v předních distribucích, jako jsou Ubuntu, Amazon Linux, RHEL a SUSE, což potvrzuje, že jakýkoli systém s jádrem novějším než verze 4.14 a držet krok Povolení podpory pro sockety AF_ALG je potenciálně zranitelné. k tomuto útoku.
Operace na místě a přetečení mezipaměti stránek
Ohledně rozsudku se uvádí, že toto To sahá až k optimalizaci zavedené v roce 2017 v rámci kryptografického API jádra (AF_ALG). Tato modifikace Chtěl jsem se zbavit zbytečného ukládání do vyrovnávací paměti. provádění operací ověřeného šifrování (AEAD) přímo ve stejném paměťovém prostoru, což je známé jako operace „na místě“.
El Kritický problém nastává při kombinaci této optimalizace s funkcí splice(), Tato metoda přenáší data mezi deskriptory souborů přenosem přímých odkazů do mezipaměti stránek jádra namísto fyzického kopírování dat. Při požadavku na dešifrování byla struktura paměti nakonfigurována tak, aby cílová vyrovnávací paměť, která měla být dočasným prostorem pro uživatele, byla nakonec přímo propojena se stránkami mezipaměti obsahujícími data systémových souborů.
Autentizace a zápis mimo limity paměti
El Poslední příčinou zranitelnosti je anomální chování algoritmu ověřování. Na rozdíl od jiných kryptografických rutin, které striktně respektují hranice svých cílových vyrovnávacích pamětí, Tento specifický algoritmus využívá paměť uživatele jako dočasnou pracovní oblast. (zápisník) pro změnu uspořádání bajtových sekvencí během výpočtu ověřovacího tagu.
V tomto procesu algoritmus zapisuje čtyři bajty nad rámec stanoveného limitu pro výstupní oblast. Díky optimalizaci na místě a referenčnímu řetězci vytvořenému funkcí splice(),Toto zdánlivě neškodné písmo překračuje hranice uživatelovy paměti. a přistane přímo na stránce mezipaměti jádra, která je přidružena ke zpracovávanému souboru.
Tento řetězec logických selhání Umožňuje útočníkovi libovolně přepsat čtyři bajty v určitých pozicích mezipaměti. stránek pro jakýkoli soubor, který dokáže přečíst. Odesláním série vypočítaných požadavků útočník může vložit škodlivý kód v paměti uložených verzích kritických spustitelných souborů s nastaveným bitem SUID, jako je například nástroj pro přepínání uživatelů.
Protože všechny operace čtení nejprve dotazují mezipaměť stránek, při příštím spuštění legitimního nástroje, Systém spustí vložený kód z paměti a okamžitě udělí root oprávnění. aniž by se kdykoli změnil fyzický soubor na pevném disku. Ještě alarmující je, že vzhledem k tomu, že izolace kontejnerů sdílí mezipaměť stránek podkladového hostitele, slouží tato zranitelnost jako přímá brána k úniku z virtualizovaných prostředí, jako jsou clustery Kubernetes, a k ohrožení primárního uzlu.
Nouzové záplaty a řešení pro zmírnění následků
Vzhledem k závažnosti tohoto rozhodnutí, Údržbářské týmy nasadily nouzové aktualizace, kde leží definitivní řešení V souboru algif_aead.c vraťte zpět optimalizaci na místě a striktně oddělte seznam zdrojové a cílové paměti. aby se zabránilo tomu, aby se stránky uložené v mezipaměti dostaly do zapisovatelných cest.
Tyto záplaty již byly integrovány do jader 6.18.22, 6.19.12 a 7.0 a jsou zpětně portovány do větví dlouhodobé podpory. Administrátorům, kteří nemohou okamžitě restartovat nebo aktualizovat své servery, se doporučuje zakázat modul jádra algif_aead, pokud byl zkompilován externě, nebo výrazně omezit vytváření socketů AF_ALG pomocí bezpečnostních politik, jako je SELinux, což je ochrana, která například chrání současná zařízení Android před touto hrozbou.
A konečně, pokud máte zájem dozvědět se více, podrobnosti naleznete na následujícím odkazu.