UDP пакетін жіберу арқылы апатқа әкелуі мүмкін Linux ядросындағы осалдық

Linux ядросында анықталды осалдық (CVE-2019-11683), бұл арнайы әзірленген UDP пакеттерін (өлім пакеті) жіберу арқылы қашықтан қызмет көрсетуден бас тартуға мүмкіндік береді. Мәселе udp_gro_receive_segment өңдегішіндегі (net/ipv4/udp_offload.c) GRO (Generic Receive Offload) технологиясын жүзеге асырудағы қатеден туындады және нөлдік толтырумен UDP пакеттерін өңдеу кезінде ядро ​​жады аумақтарының мазмұнына зақым келтіруі мүмкін. (бос пайдалы жүк).

Мәселе тек ядроға әсер етеді 5.0UDP ұяшықтары үшін GRO қолдауы болғандықтан жүзеге асырылды өткен жылдың қарашасында және соңғы тұрақты ядро ​​шығарылымына ғана қол жеткізді. GRO технологиясы әр пакетті бөлек өңдеуді қажет етпейтін бірнеше пакеттерді үлкенірек блоктарға біріктіру арқылы кіріс пакеттердің үлкен санын өңдеуді жылдамдатуға мүмкіндік береді.
TCP үшін мәселе туындамайды, себебі бұл протокол пайдалы жүктемесіз пакеттерді біріктіруді қолдамайды.

Әзірге осалдық тек пішінде түзетілді патч, түзетуші жаңарту әлі жарияланған жоқ (кешегі 5.0.11 түзетуі қосылмаған). Тарату жинақтарынан ядро ​​5.0 қосылды Fedora 30, Ubuntu 19.04, Arch Linux, Gentoo және басқа үздіксіз жаңартылатын дистрибутивтер. Debian, Ubuntu 18.10 және одан бұрынғы, RHEL/CentOS и SUSE/openSUSE мәселе әсер етпейді.

Нәтижесінде мәселе табылды Пайдалану Google жасаған автоматтандырылған тестілеу жүйесі syzbot және анализатор ҚАСАН (KernelAddressSanitizer), жадпен жұмыс кезіндегі қателерді және бос жад аймақтарына қол жеткізу және мұндай манипуляцияларға арналмаған жад аймақтарында кодты орналастыру сияқты жадқа дұрыс емес қол жеткізу фактілерін анықтауға бағытталған.

Ақпарат көзі: opennet.ru

пікір қалдыру