Sårbarhet i Linux-kärnundersystemet för USB Gadget, som potentiellt tillåter kodexekvering

En sårbarhet (CVE-2021-39685) har identifierats i USB Gadget, ett undersystem till Linux-kärnan som tillhandahåller ett programmeringsgränssnitt för att skapa USB-klientenheter och mjukvarusimulering av USB-enheter, som kan leda till en kärnläcka, krasch eller exekvering av godtycklig kod vid kärnorna. Attacken utförs av en oprivilegierad lokal användare genom manipulering av olika enhetsklasser implementerade på basis av USB Gadget API, såsom rndis, hid, uac1, uac1_legacy och uac2.

Problemet har åtgärdats i Linux-kärnuppdateringarna 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 och 4.4.295 som nyligen publicerats. I distributioner är problemet fortfarande olöst (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). En exploateringsprototyp har tagits fram för att demonstrera sårbarheten.

Problemet orsakas av ett buffertspill i dataöverföringsbegäranshanterarna i rndis, hid, uac1, uac1_legacy och uac2 gadgetdrivrutinerna. Som ett resultat av utnyttjandet av sårbarheten kan en oprivilegierad angripare få tillgång till kärnminnet genom att skicka en speciell kontrollbegäran med ett wLength-fältvärde som överstiger storleken på den statiska bufferten, för vilken 4096 byte alltid allokeras (USB_COMP_EP0_BUFSIZ). Under attacken kan en oprivilegierad process för användarutrymme läsa eller skriva upp till 65 KB data i kärnminnet.

Källa: opennet.ru

Lägg en kommentar