Vulnerabilitatea în nucleul Linux care poate provoca o blocare prin trimiterea unui pachet UDP

În nucleul Linux identificat vulnerabilitate (CVE-2019-11683), care vă permite să provocați de la distanță o refuz de serviciu prin trimiterea de pachete UDP special concepute (packet-of-death). Problema este cauzată de o eroare în handler-ul udp_gro_receive_segment (net/ipv4/udp_offload.c) cu implementarea tehnologiei GRO (Generic Receive Offload) și poate duce la deteriorarea conținutului zonelor de memorie kernel la procesarea pachetelor UDP cu zero padding (sarcină utilă goală).

Problema afectează doar nucleul 5.0deoarece suportul GRO pentru socket-urile UDP a fost implementate în noiembrie anul trecut și a reușit să intre doar în cea mai recentă versiune stabilă a nucleului. Tehnologia GRO vă permite să accelerați procesarea unui număr mare de pachete primite prin agregarea mai multor pachete în blocuri mai mari care nu necesită procesarea separată a fiecărui pachet.
Pentru TCP, problema nu apare, deoarece acest protocol nu acceptă agregarea de pachete fără sarcină utilă.

Vulnerabilitatea a fost remediată până acum doar sub formă plasture, actualizarea corectivă nu a fost încă publicată (remedierea actualizării de ieri 5.0.11 nu este inclus). Din kiturile de distribuție, kernel-ul 5.0 a reușit să fie inclus în Fedora 30, Ubuntu 19.04, Arch Linux, Gentoo și alte distribuții actualizate continuu. Debian, Ubuntu 18.10 și versiuni anterioare, RHEL/CentOS и SUSE/openSUSE problema nu afecteaza.

Problema a fost găsită ca urmare folosi Sistem automat de testare fuzzing creat de Google syzbot si analizor KASAN (KernelAddressSanitizer), care vizează identificarea erorilor atunci când lucrați cu memoria și a faptelor de acces incorec la memorie, cum ar fi accesarea zonelor de memorie eliberate și plasarea codului în zone de memorie care nu sunt destinate unor astfel de manipulări.

Sursa: opennet.ru

Adauga un comentariu