Odhalena zranitelnost LPE pro CIFSwitch Linux CIFS/cifs-utils

Bezpečnostní výzkumník Asim Manizada odhalil zranitelnost CIFSwitch - lokální eskalace oprávnění v kernel bundle Linux a balíček na míru cifs-utilsProblém ovlivňuje cestu zpracování CIFS/SMB Kerberos/SPNEGO upcall, tedy mechanismus, kterým klient CIFS jádra požaduje od pomocníka uživatele data pro ověřování Kerberos při připojování sdílených složek SMB. Popis byl publikován po vypršení embarga linux-distros; v době publikace ještě nebyl přiřazen identifikátor CVE.

Podstata zranitelnosti spočívá v tom, žeNeprivilegovaný uživatel by mohl zavolat request_key("cifs.spnego", …) a předat falešný popis klíče. Normálně by takový řetězec měl být vygenerován samotným klientem CIFS jádra: obsahuje informace o serveru, UID, UID přihlašovacích údajů, PID, cíli upcall a dalších parametrech. Jádro však neověřilo, zda popis skutečně pochází ze subsystému CIFS, a cifs.upcall, spuštěný jako root pomocí standardního pravidla request-key, těmto polím důvěřoval jako datům generovaným jádrem.

Zranitelnost není univerzální "díra v každém" Linux „Okamžitě po vybalení z krabice.“ Pro zneužití musí být splněno několik podmínek: přítomnost zranitelného jádra, nainstalovaný program cifs-utils s pravidlem cifs.spnego, možnost pro neprivilegované uživatele vytvářet jmenné prostory uživatelů/mountů a absence blokování ze strany SE.Linux, AppArmor nebo jiná LSM politika. Zpráva o oss-security konkrétně uvádí, že na zranitelných systémech to umožňuje neoprávněnému lokálnímu uživateli spouštět kód jako root.


Technicky řetězec je postaven kolem tohoJe známo, že cifs.upcall může procházet jmennými prostory uvedenými v padělaném popisu a provádět požadavek NSS před úplným resetováním oprávnění. V důsledku toho může prostředí ovládané útočníkem ovlivnit načítání modulu NSS kořenovým procesem. Veřejné popisy zdůrazňují, že se jedná o logickou chybu na hranici jádra a uživatelského prostoru, nikoli o klasickou zranitelnost způsobující poškození paměti.

Oprava jádra se ukázala být malá: byla přidána kontrola pro typ klíče cifs.spnego, která odmítá popisy nevytvořené samotným klientem CIFS s jeho privátním spnego_cred. Tento přístup uzavírá tuto třídu útoků bez nutnosti synchronních změn v cifs-utils, ačkoli autor poznamenává, že další posílení uživatelského prostoru je stále žádoucí.

AlmaLinux hlášenože základní logika je přítomna ve všech podporovaných verzích AlmaLinuxa AlmaLinux Verze 8, 9, 10 a Kitten 10 jsou považovány za postižené, pokud je nainstalován cifs-utils. V testovacích repozitářích byla připravena opravená jádra: AlmaLinux Verze 9 určuje balíček kernel-5.14.0-687.5.4.el9_8 nebo novější, např. AlmaLinux 10 — kernel-6.12.0-211.7.4.el10_2 nebo novější.

Jako dočasná řešení do instalace opraveného jádra doporučujeme odstranit cifs-utils, pokud se v systému nepoužívá klient SMB/CIFS, zakázat modul cifs, přepsat pravidlo cifs.spnego v request-key nebo zakázat jmenné prostory neprivilegovaných uživatelů. Tato řešení mohou narušit ověřování Kerberos pro připojení CIFS, proto by se měla používat s opatrností na serverech, které skutečně používají sdílené složky SMB ověřené Kerberos.

CIFSwitch je také zajímavý kvůli kontextu detekce: autor jej popisuje jako výsledek hledání vícekrokových řetězců pomocí LLM a grafového znázornění vztahů mezi bezpečnostními objekty. Praktické důsledky pro administrátory jsou však poměrně všední: kontrola přítomnosti cifs-utils, stavu jmenných prostorů uživatelů a aktualizací jádra, zejména na systémech s lokálními uživateli nebo kontejnerovými skripty s pokročilými možnostmi jmenných prostorů.

Zdroj: linux.org.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster