Sårbarhed i Linux-kerneundersystemet til USB Gadget, hvilket potentielt muliggør kodeudførelse

En sårbarhed (CVE-2021-39685) er blevet identificeret i USB Gadget, et undersystem af Linux-kernen, der giver en programmeringsgrænseflade til oprettelse af USB-klientenheder og softwaresimulering af USB-enheder, som kan føre til en kernelækage, nedbrud eller vilkårlig kodeudførelse ved kernerne. Angrebet udføres af en uprivilegeret lokal bruger gennem manipulation af forskellige enhedsklasser implementeret på basis af USB Gadget API, såsom rndis, hid, uac1, uac1_legacy og uac2.

Problemet er blevet rettet i Linux-kerneopdateringer 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 og 4.4.295 offentliggjort for nylig. I distributioner forbliver problemet stadig uløst (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). En exploit-prototype er blevet udarbejdet for at demonstrere sårbarheden.

Problemet er forårsaget af et bufferoverløb i dataoverførselsanmodningsbehandlerne i rndis-, hid-, uac1-, uac1_legacy- og uac2-gadget-driverne. Som et resultat af at udnytte sårbarheden kan en uprivilegeret angriber få adgang til kernehukommelsen ved at sende en speciel kontrolanmodning med en wLength-feltværdi, der overstiger størrelsen af ​​den statiske buffer, som der altid er allokeret 4096 bytes til (USB_COMP_EP0_BUFSIZ). Under angrebet kan en uprivilegeret bruger-space-proces læse eller skrive op til 65 KB data ind i kernehukommelsen.

Kilde: opennet.ru

Tilføj en kommentar