CVE-2026-31721
usb: gadget: f_hid: mover a inicialização da lista e do spinlock de bind para alloc
- Publicado
- 1 de mai. de 2026
- Atualizado
- 11 de mai. de 2026
- Atribuindo CNA
- Linux
- Evidência observada
- 27 de ago. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HBaixo · próximos 30 dias
- Percentil
- 2,7%
- Data do modelo
- 21 de set. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
No Linux kernel, a seguinte vulnerabilidade foi resolvida: usb: gadget: f_hid: mover a lista e as inicializações de spinlock do bind para o alloc Havia um problema quando você fazia o seguinte: - configurar e fazer bind de um gadget hid - abrir /dev/hidg0 - usar o fd resultante em EPOLL_CTL_ADD - fazer unbind do UDC - fazer bind do UDC - usar o fd em EPOLL_CTL_DEL Quando CONFIG_DEBUG_LIST estava habilitado, uma corrupção de list_del era relatada dentro de remove_wait_queue (via ep_remove_wait_queue). Após alguma depuração, descobri que as filas, que o f_hid registra via poll_wait, eram o problema. Elas eram inicializadas usando init_waitqueue_head dentro de hidg_bind. Então, efetivamente, a função bind reinicializava as filas enquanto ainda havia itens nelas. A solução é mover a inicialização de hidg_bind para hidg_alloc para estender sua vida útil à vida útil da instância da função. Além disso, encontrei muitas outras chamadas de init possivelmente problemáticas na função bind, que também movi.
Fontes
1- f_hid-4.14-backportsRemendo
Backports de três correções publicadas do f_hid (incl. CVE-2026-31721, CVE-2026-31606) para um kernel de fornecedor Android Linux 4.14.190 em fim de vida (EOL), com registros de verificação no dispositivo.
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.