Sebezhetőség a Linux kernel IPv6-vermében, amely lehetővé teszi a távoli kódfuttatást

Információt hoztak nyilvánosságra a Linux kernel hálózati veremében található CVE-2023-6200) sérülékenységről, amely bizonyos körülmények között lehetővé teszi egy helyi hálózat támadója számára, hogy egy speciálisan tervezett ICMPv6 csomag elküldésével elérje kódja végrehajtását. egy RA (Router Advertisement) üzenet, amelynek célja az útválasztóval kapcsolatos információk hirdetése.

A biztonsági rést csak a helyi hálózatról lehet kihasználni, és azokon a rendszereken jelenik meg, amelyeken engedélyezve van az IPv6-támogatás, és a sysctl paramétere „net.ipv6.conf.<network_interface_name>.accept_ra” aktív (a „sysctl net.ipv6.conf” paranccsal ellenőrizhető | grep accept_ra”), amely alapértelmezés szerint le van tiltva az RHEL-ben és az Ubuntuban a külső hálózati interfészeknél, de engedélyezve van a visszacsatolási interfésznél, amely lehetővé teszi a támadást ugyanarról a rendszerről.

A sérülékenységet egy versenyhelyzet okozza, amikor a szemétgyűjtő elavult fib6_info rekordokat dolgoz fel, ami egy már felszabadult memóriaterület eléréséhez vezethet (használat utáni szabadon). Amikor egy ICMPv6 csomagot fogadunk útválasztó hirdetési üzenettel (RA, Router Advertisement), a hálózati verem meghívja az ndisc_router_discovery() függvényt, amely ha az RA üzenet tartalmaz információt az útvonal élettartamáról, meghívja a fib6_set_expires() függvényt és kitölti a gc_linket. szerkezet. Az elavult bejegyzések megtisztításához használja a fib6_clean_expires() függvényt, amely leválasztja a gc_link bejegyzést, és törli a fib6_info struktúra által használt memóriát. Ebben az esetben van egy bizonyos pillanat, amikor a fib6_info struktúra memóriája már felszabadult, de a hivatkozás továbbra is a gc_link struktúrában marad.

A sérülékenység a 6.6-os ágtól kezdve jelent meg, és a 6.6.9-es és 6.7-es verziókban javították. A disztribúciókban lévő sérülékenység javításának állapota a következő oldalakon értékelhető: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. A 6.6-os kernellel csomagokat szállító disztribúciók közül kiemelhetjük az Arch Linuxot, a Gentoo-t, a Fedorát, a Slackware-t, az OpenMandrivát és a Manjaro-t; más disztribúciókban előfordulhat, hogy a hibás változás visszaportálódik régebbi kernelágazatú csomagokba (pl. Például a Debianban megemlítik, hogy a 6.5.13-as kernelt tartalmazó csomag sebezhető, míg a problémás változás a 6.6-os ágban jelent meg). Biztonsági megoldásként letilthatja az IPv6-ot, vagy 0-ra állíthatja a „net.ipv6.conf.*.accept_ra” paramétereket.

Forrás: opennet.ru

Hozzászólás