O vulnerabilitate în subsystemul USB Gadget al nucleului Linux, care ar putea permite execuția de cod

În USB Gadget, subsistemul kernelului Linux care oferă o interfață de programare pentru crearea de dispozitive USB client și simularea software a dispozitivelor USB, a fost identificată o vulnerabilitate (CVE-2021-39685), care poate duce la scurgeri de informații din kernel, prăbușiri sau executarea de cod arbitrar la nivel de kernel. Atacul este efectuat de un utilizator local fără privilegii prin manipularea diferitelor clase de dispozitive implementate pe baza API-ului USB Gadget, cum ar fi rndis, hid, uac1, uac1_legacy și uac2.

Problema a fost remediată în actualizările recent publicate ale kernelului Linux 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 și 4.4.295. În distribuții, problema rămâne nerezolvată (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). A fost pregătit un prototip de exploit pentru a demonstra vulnerabilitatea.

Problema este cauzată de un overflow de buffer în handler-ele de cereri pentru transferul de date în driverele gadget rndis, hid, uac1, uac1_legacy și uac2. Ca rezultat al exploatării vulnerabilității, un atacator fără privilegii poate accesa memoria kernelului prin trimiterea unei cereri de control speciale cu o valoare a câmpului wLength care depășește dimensiunea buffer-ului static, pentru care sunt alocate întotdeauna 4096 de octeți (USB_COMP_EP0_BUFSIZ). În timpul atacului se pot citi sau scrie până la 65 KB de date în memoria kernelului dintr-un proces fără privilegii în spațiul utilizatorului.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster