UDP pakete bat bidaliz hutsegite bat eragin dezakeen Linux nukleoan ahultasuna

Linux nukleoan identifikatu ahultasuna (CVE-2019-11683), zerbitzuaren ukapena urrunetik eragiteko aukera ematen duena, bereziki diseinatutako UDP paketeak (packet-of-death) bidaliz. Arazoa udp_gro_receive_segment kudeatzailean (net/ipv4/udp_offload.c) akats batek eragiten du GRO (Generic Receive Offload) teknologiaren ezarpenarekin eta nukleoaren memoria-eremuen edukia kaltetu dezake UDP paketeak zero betegarriarekin prozesatzen direnean. (karga hutsa).

Arazoak nukleoari bakarrik eragiten dio 5.0UDP socketetarako GRO euskarria zenez ezarrita iazko azaroan eta kernel egonkorren azken bertsioan bakarrik sartzea lortu zuen. GRO teknologiak sarrerako pakete askoren prozesamendua bizkortzeko aukera ematen du, pakete bakoitzaren prozesamendu bereizia behar ez duten bloke handiagoetan bilduz.
TCP-rako, arazoa ez da gertatzen, protokolo honek ez baitu onartzen paketeen agregazioa kargarik gabe.

Zaurgarritasuna orain arte forman bakarrik konpondu da adabakia, eguneraketa zuzentzailea oraindik ez da argitaratu (atzoko eguneraketa 5.0.11 konponketa ez dago barne). Banaketa-kitetatik, kernel 5.0 barruan sartzea lortu zuen Fedora 30, Ubuntu 19.04, Arch Linux, Gentoo eta etengabe eguneratzen diren beste banaketa batzuk. Debian, Ubuntu 18.10 eta aurrekoak, RHEL/CentOS ΠΈ SUSE/openSUSE arazoak ez du eragiten.

Ondorioz aurkitu zen arazoa erabilera Google-k sortutako fuzzing-en proba sistema automatizatua syzbot eta analizatzailea KASAN (KernelAddressSanitizer), memoriarekin lan egitean akatsak identifikatzea eta memoria okerra atzitzeko gertaerak identifikatzea zuzenduta dago, hala nola, askatutako memoria-eremuetan sartzea eta manipulazio horietarako pentsatu gabeko memoria-eremuetan kodea jartzea.

Iturria: opennet.ru

Gehitu iruzkin berria