Dobësi në kernel Linux që mund të shkaktojë një përplasje duke dërguar një paketë UDP

Në kernelin Linux identifikuar cenueshmëria (CVE-2019-11683), i cili ju lejon të shkaktoni në distancë një refuzim të shërbimit duke dërguar pako UDP të projektuara posaçërisht (paketë vdekjeje). Problemi është shkaktuar nga një gabim në mbajtësin udp_gro_receive_segment (net/ipv4/udp_offload.c) me zbatimin e teknologjisë GRO (Generic Receive Offload) dhe mund të çojë në prishje të përmbajtjes së zonave të memories kernel kur përpunohen paketat UDP me mbushje zero. (ngarkesa e zbrazët).

Problemi prek vetëm kernelin 5.0meqenëse mbështetja GRO për prizat UDP ishte zbatuar në nëntor të vitit të kaluar dhe arriti të futej vetëm në lëshimin e fundit të kernelit të qëndrueshëm. Teknologjia GRO ju lejon të shpejtoni përpunimin e një numri të madh paketash hyrëse duke grumbulluar paketa të shumta në blloqe më të mëdha që nuk kërkojnë përpunim të veçantë të secilës paketë.
Për TCP, problemi nuk ndodh, pasi ky protokoll nuk mbështet grumbullimin e paketave pa ngarkesë.

Dobësia deri më tani është rregulluar vetëm në formë arnim, përditësimi korrigjues ende nuk është publikuar (përditësimi i djeshëm 5.0.11 fix nuk përfshihen). Nga kompletet e shpërndarjes, kernel 5.0 arriti të përfshihej në Fedora 30, Ubuntu 19.04, Arch Linux, Gentoo dhe shpërndarje të tjera të përditësuara vazhdimisht. Debian, Ubuntu 18.10 dhe më herët, RHEL/CentOS и SUSE/openSUSE problemi nuk ndikon.

Problemi u konstatua si rezultat e përdorimit Sistemi i automatizuar i testimit të fuzzimit i krijuar nga Google syzbot dhe analizues KASAN (KernelAddressSanitizer), që synon identifikimin e gabimeve gjatë punës me memorie dhe faktet e aksesit të pasaktë të memories, të tilla si qasja në zonat e liruara të memories dhe vendosja e kodit në zonat e memories që nuk janë të destinuara për manipulime të tilla.

Burimi: opennet.ru

Shto një koment