Byly zveřejněny podrobnosti a publikován exploit pro zranitelnost CIFSwitch (CVE zatím nepřiřazeno) v modulu jádra CIFS a sadě nástrojů cifs-utils. Tato zranitelnost umožňuje neoprávněnému uživateli získat root oprávnění v systému. Oprava je k dispozici pouze jako záplata, která byla publikována 16. května a do hlavní řady jádra přijata 19. května. Linux (údržbové verze jádra zatím nejsou k dispozici).
Tato zranitelnost se týká kódu, který podporuje mechanismus cifs.spnego pro provádění ověřování prostřednictvím protokolu SPNEGO (Simple and Protected GSSAPI Negotiation) při připojování k serverům SMB. Při použití cifs.spnego k určení klíčů Kerberos/SPNEGO jádro volá obslužnou rutinu cifs.upcall, která je poskytována balíčkem cifs-utils a běží v uživatelském prostoru s oprávněními root.
Neprivilegovaný uživatel může zahájit volání obslužné rutiny odesláním požadavku s požadavkem na klíč „cifs.spnego“ s falešným popisem „CIFS SPNEGO“. Obslužná rutina cifs.upcall neprovádí další ověřovací kontroly parametrů předávaných jádrem; mimo jiné zpracovává pid, uid, creduid a
upcall_target. Po aktivaci se obslužná rutina cifs.upcall přepne do jmenných prostorů uživatelského procesu, jehož prostřednictvím byl požadavek odeslán, a před resetováním oprávnění provede vyhledávání v databázi NSS (Name Service Switch) systému.
Útočník může spustit svůj proces v odděleném jmenném prostoru přípojných bodů, což způsobí přístup k NSS v jeho kontextu. Aby mohl tuto zranitelnost zneužít, stačí do útočníkem vytvořeného prostředí umístit vlastní konfigurační soubor /etc/nsswitch.conf a sadu fiktivních knihoven libnss_*.so.2. Spuštění požadavku NSS obslužnou rutinou cifs.upcall načte fiktivní knihovny s root oprávněními.
Aby bylo možné tuto zranitelnost zneužít, musí systém povolit jmenné prostory uživatelů nebo přípojné body a musí být nainstalován balíček cifs-utils. Mezi distribuce, které mohou tuto zranitelnost zneužít ve své výchozí konfiguraci, patří:
- Linux Máta Skořice 21.3/22.3
- CentOS Stream 9 GNOME
- Rocky Linux 9 Pracovní stanice
- Kali Linux
- AlmaLinux 9.7 Pracovní stanice
- SUSE 15 SP7/SAP 15 SP7/SAP 16
Distribuce, které pro fungování s exploitem vyžadují balíček cifs-utils:
- Ubuntu 18.04/20.04/22.04 Stolní počítač/Server
- Pop!_OS 22.04 Intel/24.04 Generic
- Ubuntu 24.04 Minimální/plná verze pro stolní počítače a server
- Debian 11/12/13 netinst standard a GNOME/KDE/standard/XFCE
- CentOS Streamujte 9 Cinnamon/KDE/MATE/XFCE
- Rocky Linux 9 KDE/Workstation-Lite
- openSUSE Leap 15.6 GNOME/KDE
- openSUSE Tumbleweed GNOME/KDE
- Rocky Linux 8 GenericCloud
- Oracle Linux 8/9 KVM
- Amazon Linux 2023 KVM
Distribuce s výchozími konfiguracemi blokujícími zneužití zranitelností prostřednictvím SELinux nebo Apparmor, i když je přítomen balíček cifs-utils:
- Ubuntu 26.04 Stolní počítač/Server
- Fedora 40/41/42/43/44 Workstation/Server
- CentOS Stream 10 GNOME/KDE
- Rocky Linux 10 Pracovní stanice
- AlmaLinux 10.1 Pracovní stanice
- Oracle Linux 10 KVM
- openSUSE Tumbleweed GNOME/KDE
- openSUSE Leap 16.0 OEM GNOME/KDE/Minimal-VM
- SUSE Linux 16
Jako alternativní řešení můžete zablokovat automatické načítání modulu jádra cifs:
sh -c "printf 'install cifs /bin/false\n' > /etc/modprobe.d/cifs.conf; rmmod cifs 2>/dev/null; true"
Můžete také zakázat používání jmenného prostoru uživatelů („sysctl -w kernel.unprivileged_userns_clone=0“) a odstranit nebo přepsat pravidlo cifs.spnego v nastavení cifs-utils:
kočka >/etc/request-key.d/cifs.spnego.conf <'Konec operace'
vytvořit cifs.spnego * * /usr/sbin/keyctl negate %k 30 %S
EOF
Mezitím bylo 28. května zveřejněno 137 zpráv o zranitelnosti jádra. Linuxa pro 27. května - 277 zpráv.
Zdroj: opennet.ru
