USB гаджетинде ядронун чакан системасы LinuxКардардын USB түзмөктөрүн түзүү жана USB түзмөктөрүн симуляциялоо үчүн программалык интерфейсти камсыз кылган USB Gadget API'синде алсыздык (CVE-2021-39685) аныкталды. Бул алсыздык ядро маалыматынын агып кетишине, бузулушуна же ядро деңгээлинде коддун өз алдынча аткарылышына алып келиши мүмкүн. Чабуул артыкчылыксыз жергиликтүү колдонуучу тарабынан USB Gadget API'син колдонуу менен ишке ашырылган ар кандай түзмөк класстарын, мисалы, rndis, hid, uac1, uac1_legacy жана uac2ди манипуляциялоо аркылуу жүргүзүлөт.
Маселе жакында жарыяланган ядро жаңыртууларында чечилди. Linux 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 жана 4.4.295. Көйгөй бөлүштүрүүлөрдө чечилбеген бойдон калууда (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Алсыздыкты көрсөтүү үчүн эксплойттун прототиби даярдалган.
Көйгөй rndis, hid, uac1, uac1_legacy жана uac2 гаджетинин драйверлериндеги берилиштерди өткөрүп берүү өтүнүчтөрүн иштетүүчү буфердин толуп кетишинен келип чыгат. Алсыздыкты пайдалануунун натыйжасында, артыкчылыксыз чабуулчу 4096 байт ар дайым (USB_COMP_EP0_BUFSIZ) бөлүнгөн статикалык буфердин өлчөмүнөн ашкан wLength талаасынын мааниси менен атайын башкаруу сурамын жөнөтүү аркылуу ядронун эс тутумуна кире алат. Чабуул учурунда колдонуучу мейкиндигинде артыкчылыксыз процесс ядролук эстутумга 65 КБга чейинки маалыматтарды окуп же жаза алат.
Source: opennet.ru
