UDP пакетин жөнөтүү аркылуу кыйроого алып келиши мүмкүн болгон Linux ядросундагы аялуу

Linux ядросунда аныкталган аялуу (CVE-2019-11683), бул атайын иштелип чыккан UDP пакеттерин (өлүм пакети) жөнөтүү аркылуу алыстан кызматтан баш тартууга мүмкүндүк берет. Көйгөй GRO (Generic Receive Offload) технологиясын ишке ашыруу менен udp_gro_receive_segment иштеткичиндеги (net/ipv4/udp_offload.c) катадан келип чыгат жана нөл толтуруу менен 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 тарабынан түзүлгөн автоматташтырылган fuzzing тестирлөө системасы syzbot жана анализатор КАСАН (KernelAddressSanitizer), эстутум менен иштөөдө каталарды жана эстутумга туура эмес кирүү фактыларын аныктоого багытталган, мисалы, бошогон эстутум аймактарына кирүү жана кодду мындай манипуляциялар үчүн арналбаган эстутум аймактарына жайгаштыруу.

Source: opennet.ru

Комментарий кошуу