Гол цөмд Linux эмзэг байдал (), энэ нь тусгайлан зохион бүтээсэн UDP пакетуудыг (үхлийн багц) илгээх замаар алсаас үйлчилгээ үзүүлэхээс татгалзах боломжийг олгодог. Асуудал нь GRO (Generic Receive Offload) технологийг хэрэгжүүлсэн udp_gro_receive_segment зохицуулагчийн (net/ipv4/udp_offload.c) алдаанаас үүдэлтэй бөгөөд тэг дүүргэлттэй UDP пакетуудыг боловсруулах үед цөмийн санах ойн хэсгүүдийн агуулгыг гэмтээж болно. (хоосон ачаалал).
Асуудал нь зөвхөн цөмд л нөлөөлдөг UDP залгууруудад GRO дэмжлэг үзүүлснээс хойш Өнгөрсөн оны XNUMX-р сард бөгөөд зөвхөн хамгийн сүүлийн үеийн тогтвортой цөмийн хувилбар руу орж чадсан. GRO технологи нь багц тус бүрийг тусад нь боловсруулах шаардлагагүй олон пакетуудыг илүү том блок болгон нэгтгэх замаар олон тооны ирж буй пакетуудын боловсруулалтыг хурдасгах боломжийг олгодог.
TCP-ийн хувьд энэ протокол нь ачаалалгүйгээр пакет нэгтгэхийг дэмждэггүй тул асуудал гардаггүй.
Одоогоор эмзэг байдлыг зөвхөн хэлбэрээр зассан , залруулах шинэчлэл хараахан хэвлэгдээгүй байна (өчигдрийн шинэчлэлт 5.0.11 засвар ). Түгээлтийн иж бүрдэлээс цөм 5.0-ийг багтааж чадсан , , , болон бусад тасралтгүй шинэчлэгдсэн түгээлтүүд. , , и асуудал нөлөөлөхгүй.
Үүний үр дүнд асуудал илэрсэн Google-ийн бүтээсэн fuzzing тестийн автоматжуулсан систем ба анализатор (KernelAddressSanitizer) нь санах ойтой ажиллахад гарсан алдаа, санах ойд буруу хандсан, тухайлбал суллагдсан санах ойн хэсгүүдэд хандах, санах ойн талбарт код байрлуулах зэрэг алдаануудыг илрүүлэх зорилготой юм.
Эх сурвалж: opennet.ru
