USB Gadget áážáŹ kernel subsystem áá áşááŻá፠Linuxclient USB devices ááťáŹá¸áááşááŽá¸ááźááşá¸áážááˇáş USB devices ááťáŹá¸ááᯠsimulate ááŻááşááźááşá¸áĄáá˝ááş software interface áááŻááąá¸á á˝ááşá¸áááˇáş USB Gadget API áá˝ááş áĄáŹá¸áááşá¸ááťááş (CVE-2021-39685) áá áşááŻááᯠááąáŹáşááŻááşáá˝áąáˇáážááá˛áˇáááşá á¤áĄáŹá¸áááşá¸ááťááşáááş kernel level áá˝ááş kernel information leakage, crash áááŻáˇáááŻááş arbitrary code execution ááťáŹá¸ááźá áşááąáŤáşá áąáááŻááşáááşá rndisá hidá uac1á uac1_legacy áážááˇáş uac2 áá˛áˇáááŻáˇááąáŹ USB Gadget API ááᯠáĄááŻáśá¸ááźáŻá áĄááąáŹááşáĄáááşááąáŹáşááŹá¸ááąáŹ device classes áĄááťááŻá¸ááťááŻá¸ááᯠááźááşáážááşááźááşá¸ááźááˇáş unprivileged local user ááž áááŻááşáááŻááşáážáŻááᯠááŻááşááąáŹááşáááşá
áááźáŹááąá¸ááŽáááŻááşááąáá˛áˇááąáŹ kernel update ááťáŹá¸áá˝ááş ááźáżááŹááᯠááźááşáááşááźáŽá¸ááŤááźáŽá Linux á .áá .áá á .áá.áá á á .á.ááá á á.áá.áááá á.áá.áá áá á.á.ááá áážááˇáş á.á.ááá á ááźáżááŹáááş ááźááˇáşááźá°á¸áážáŻááťáŹá¸áá˝ááş áááźáąáážááşá¸áááąá¸á፠(Debian, Ubuntu, RHEL, SUSE, Fedora, Arch)á áĄáŹá¸áááşá¸ááťááşááᯠáááŻááşááźáááş prototype exploit áá áşááŻááᯠááźááşáááşááŹá¸ááŤáááşá
ááźáżááŹáááş rndisá hidá uac1á uac1_legacy áážááˇáş uac2 áááşááťááşááááŻááşááŹááťáŹá¸áážá ááąááŹáá˝ážá˛ááźáąáŹááşá¸áážáŻááąáŹááşá¸áááŻáážáŻ áááŻááşáá˝ááşááźáąáážááşá¸ááąá¸áá°ááťáŹá¸áá˝ááş ááźáŹá¸ááśáĄááťážáśáĄáááşááźáąáŹááˇáş ááźá
áşááąáŤáşááŹááźááşá¸ááźá
áşáááşá áĄáŹá¸áááşá¸ááťááşááᯠáĄááŻáśá¸ááťááźááşá¸ááźáąáŹááˇáş áĄáá˝ááˇáşáá°á¸áááśáááąá¸ááąáŹ áááŻááşáááŻááşáá°áááş static buffer ááĄáá˝ááşáĄá
áŹá¸áááşááťáąáŹáşáá˝ááşááąáŹ wLength áĄáá˝ááşáááşáááŻá¸ááźááˇáş áĄáá°á¸ááááşá¸ááťáŻááşáážáŻááąáŹááşá¸áááŻááťááşáá
áşááŻááąá¸áááŻáˇááźááşá¸ááźááˇáş 4096 bytes (USB_COMP_EP0_BUFSIZ) ááᯠáĄááźá˛áá˝á˛ááąááąá¸ááŤáááşá áááŻááşáááŻááşáážáŻáĄáá˝ááşá¸á áĄááŻáśá¸ááźáŻáá°ááąááŹáá˝ááşáážá áĄáá˝ááˇáşáá°á¸áááŹá¸ááąáŹ ááŻááşáááşá¸á
ááşááž kernel memory áááŻáˇ ááąáᏠ65 KB áĄáá áááşáááŻááş áááŻáˇáááŻááş ááąá¸áááŻááşáááşá
source: opennet.ru
