Sebezhetőség a Linux kernelben, amely összeomlást okozhat UDP-csomag küldésével

A Linux kernelben azonosított sebezhetőség (CVE-2019 11683-), amely lehetővé teszi, hogy távolról szolgáltatásmegtagadást idézzen elő speciálisan kialakított UDP-csomagok (packet-of-death) küldésével. A problémát az udp_gro_receive_segment kezelő (net/ipv4/udp_offload.c) hibája okozza a GRO (Generic Receive Offload) technológia megvalósításával, és a kernel memóriaterületeinek tartalmának károsodásához vezethet az UDP-csomagok nulla kitöltésével történő feldolgozásakor. (üres rakomány).

A probléma csak a kernelt érinti 5.0mivel a GRO támogatása az UDP socketekhez volt végrehajtva tavaly novemberben, és csak a legújabb stabil kernel-kiadásba sikerült bekerülni. A GRO technológia lehetővé teszi nagyszámú bejövő csomag feldolgozásának felgyorsítását azáltal, hogy több csomagot nagyobb blokkokba aggregál, amelyekhez nincs szükség minden egyes csomag külön feldolgozására.
A TCP esetében ez a probléma nem jelentkezik, mivel ez a protokoll nem támogatja a hasznos terhelés nélküli csomagösszesítést.

A sérülékenységet eddig csak a formában javították ki tapasz, a javító frissítés még nem jelent meg (a tegnapi frissítés 5.0.11 javítás nem tartalmazza). A disztribúciós készletekből az 5.0-s kernel sikerült belekerülni Fedora 30, Ubuntu 19.04, Arch Linux, Gentoo és egyéb folyamatosan frissített disztribúciók. Debian, Ubuntu 18.10 és korábbi, RHEL/CentOS и SUSE/openSUSE a probléma nem érinti.

Ennek eredményeként kiderült a probléma használat A Google által létrehozott automata fuzzing tesztelési rendszer syzbot és elemző KASAN (KernelAddressSanitizer) célja, hogy azonosítsa a memóriával végzett munka során fellépő hibákat és a helytelen memória-hozzáférés tényeit, mint például a felszabadult memóriaterületek elérése és a kód elhelyezése az ilyen manipulációkra nem szánt memóriaterületeken.

Forrás: opennet.ru

Hozzászólás