UDP пакет илгээх замаар эвдрэлд хүргэж болзошгүй Линуксийн цөмийн эмзэг байдал

Линуксийн цөмд тодорхойлсон эмзэг байдал (CVE-2019-11683), энэ нь тусгайлан зохион бүтээсэн UDP пакетуудыг (үхлийн багц) илгээх замаар алсаас үйлчилгээ үзүүлэхээс татгалзах боломжийг олгодог. Асуудал нь GRO (Generic Receive Offload) технологийг хэрэгжүүлсэн udp_gro_receive_segment зохицуулагчийн (net/ipv4/udp_offload.c) алдаанаас үүдэлтэй бөгөөд тэг дүүргэлттэй UDP пакетуудыг боловсруулах үед цөмийн санах ойн хэсгүүдийн агуулгыг гэмтээж болно. (хоосон ачаалал).

Асуудал нь зөвхөн цөмд л нөлөөлдөг 5.0UDP залгууруудад GRO дэмжлэг үзүүлснээс хойш хэрэгжүүлсэн Өнгөрсөн оны XNUMX-р сард бөгөөд зөвхөн хамгийн сүүлийн үеийн тогтвортой цөмийн хувилбар руу орж чадсан. 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) нь санах ойтой ажиллахад гарсан алдаа, санах ойд буруу хандсан, тухайлбал суллагдсан санах ойн хэсгүүдэд хандах, санах ойн талбарт код байрлуулах зэрэг алдаануудыг илрүүлэх зорилготой юм.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх