CVE-2026-63895 — usb: gadget: f_fs: copy only received bytes on short ep0 read
In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_fs: copy only received bytes on short ep0 read ffs_ep0_read() allocates its control-OUT data buffer with kmalloc() (not kzalloc) at the Length value from the Setup packet, then copies that full len to userspace regardless of how many bytes were actually received: data = kmalloc(len, GFP_KERNEL); ... ret = __ffs_ep0_queue_wait(ffs, data, len); if ((ret > 0) && (copy_to_user(buf, data, len))) ret = -EFAULT; __ffs_ep0_queue_wait() returns req->actual, which on a short control OUT transfer is strictly less than len. The copy_to_user() call still copies len bytes, so on a short OUT the last (len - ret) bytes of the kmalloc() buffer -- uninitialised slab residue -- are delivered to the FunctionFS daemon. Short ep0 OUT completions are specified USB control-transfer behavior and are produced by in-tree UDCs: * dwc2 continues on req->actual < req->length for ep0 DATA OUT (short-not-ok is the only ep0-OUT stall path). * aspeed_udc ends ep0 OUT on rx_len < ep->ep.maxpacket. * renesas_usbf logs "ep0 short packet" and completes the request. * dwc3 stalls on short IN but not on short OUT. A short ep0 OUT is therefore not evidence of a broken UDC; it is a normal condition f_fs has to cope with. The sibling gadgetfs implementation in drivers/usb/gadget/legacy/inode.c already does this correctly via min(len, dev->req->actual) before copy_to_user(). This patch brings f_fs.c to the same safe pattern rather than trimming at a defensive layer. The bug is reached from the FunctionFS device node, which in real deployments is owned by the privileged gadget daemon (adbd, UMS, composite gadget services, etc.); it is not reachable from unprivileged userspace. Linux host stacks normally reject short-wLength control OUTs before they reach the gadget, so reproducing this required a build that bypasses that host-side check. With the bypass in place, a 1-byte payload on a 64-byte Setup produces 63 bytes of non-canary slab residue in the daemon's read buffer. Fix by copying only ret (actually received) bytes to userspace.
Descrição oficial em inglês (tradução ainda não revisada).
Quem explora e qual a prioridade
Nota de 0 a 100 que combina exploração confirmada, uso por ransomware e grupos APT, exploits públicos, EPSS e severidade.
Como a nota foi calculada
- EPSS 0.3% (probabilidade de exploração em 30 dias)+3
A nota ordena a fila de correção; não substitui o contexto dos seus ativos (exposição à internet, criticidade, compensações).
Triagem
Está sendo explorada, qual a probabilidade de exploração, o que afeta e qual a severidade segundo as fontes.
Remediação
Correções e mitigações documentadas pelas fontes — com link para o aviso original.
Nenhuma correção documentada pelas fontes consultadas. Isso não significa que não exista: verifique o aviso do fabricante.
Primeiras 24 horas
Ordenado a partir dos próprios campos do registro — exposição primeiro, porque não se corrige o que não se encontrou. Ponto de partida, gerado por regras.
- Identifique ativos expostos que executam as combinações de fabricante/produto/versão afetadas (Linux Linux).
- Nenhuma correção documentada nas fontes: reduza a exposição e monitore o aviso do fabricante.
- Procure nos logs disponíveis sinais de tentativa de exploração, erros e anomalias de autenticação.
Escopo afetado
Fabricante, produto e versões como as fontes os descrevem.
| Fabricante | Produto | Versões | Status | Fonte |
|---|---|---|---|---|
| Linux | Linux | ≥ ddf8abd2599491cbad959c700b90ba72a5dce8d0 e < 90ccf5fb63243fae1b4b3200f3310500500ecf2e≥ ddf8abd2599491cbad959c700b90ba72a5dce8d0 e < af32dbb2ca0b3d09271ab718d13857a457fa16f2≥ ddf8abd2599491cbad959c700b90ba72a5dce8d0 e < e835bf9a055f71874065a40780ca5560b7df8b33≥ ddf8abd2599491cbad959c700b90ba72a5dce8d0 e < 88874a19b2b093bfaaa1c0090fa536c44da8c08b≥ ddf8abd2599491cbad959c700b90ba72a5dce8d0 e < 607730a414773a7cbe3037a64a6c64e72689ff5e≥ ddf8abd2599491cbad959c700b90ba72a5dce8d0 e < 23c1f7deb9dd8447ecde749850676302aa1e2bd3≥ ddf8abd2599491cbad959c700b90ba72a5dce8d0 e < 4e036c10e7f4df5d951c69cc3697bc8e209c6d02versão 2.6.35 | Vulnerável | CVE Program (cve.org) e CISA ADP |
EPSS ao longo do tempo FIRST
15/10/2026 → 16/10/2026 · 2 leitura(s) · máximo 0.26%
Detecção
Derivado do vetor CVSS e da classe da fraqueza. Pontos de partida, não regras testadas.
- Sem vetor ou classe de fraqueza suficientes: use os logs da aplicação afetada como ponto de partida.
Linha do tempo
O que aconteceu com esta CVE, do mais recente ao mais antigo.
- 2026
- Ficha publicada
- Produtos afetados adicionados · linux/linux
- Status na fonte alterado · → Awaiting Analysis
- Registro criado nesta base
- CVE publicada
Atividade das fontes
Leituras que se repetem foram contadas em vez de listadas.
- 1× Descrição oficial atualizada · 15/10/2026 – 15/10/2026
Referências
7 no registro
- git.kernel.org/stable/c/4e036c10e7f4df5d951c69cc3697bc8e209c6d02
- git.kernel.org/stable/c/af32dbb2ca0b3d09271ab718d13857a457fa16f2
- git.kernel.org/stable/c/607730a414773a7cbe3037a64a6c64e72689ff5e
- git.kernel.org/stable/c/90ccf5fb63243fae1b4b3200f3310500500ecf2e
- git.kernel.org/stable/c/e835bf9a055f71874065a40780ca5560b7df8b33
- git.kernel.org/stable/c/88874a19b2b093bfaaa1c0090fa536c44da8c08b
- git.kernel.org/stable/c/23c1f7deb9dd8447ecde749850676302aa1e2bd3
Em outras páginas do site
CVEs relacionadas (mesmos produtos)
- Crítica CVE-2026-99999 ipv4: validate checksum_start before completing checksum 1 d
- Desconhecida CVE-2026-98432 ipv4: free inet_opt and ireq_opt after an RCU grace period 1 d
- Desconhecida CVE-2026-98424 wifi: cfg80211: undo netns switch if renaming the wiphy fails 2 d
- Desconhecida CVE-2026-98425 wifi: mac80211: don't warn when an IBSS has no channel to scan 2 d
- Desconhecida CVE-2026-98426 wifi: mwifiex: fix IRQ leak using wrong index in MSI-X error path 2 d
- Desconhecida CVE-2026-98427 net/sched: codel: bound the dropping loop per dequeue call 2 d
Não consta em nenhuma fonte consultada
Listado em vez de deixado em branco: um campo vazio e um não medido parecem iguais na tela, e só um deles é motivo para procurar em outro lugar.
- Nenhuma pontuação CVSS publicada por NVD, CNA, CISA ou GitHub até agora.
- Nenhuma versão corrigida, patch ou mitigação documentada.
- Sem avaliação SSVC da CISA.
- Sem classificação CWE.
- Nenhum IOC confirmado (IPs, domínios, hashes ou artefatos de malware) fornecido.
- Nenhum inventário de ativos, controle compensatório ou evidência de implantação de patch da sua organização.
- Nenhuma captura de tráfego de exploração, amostra de log ou caso de incidente.
Respondido a partir deste registro
Texto montado apenas com os campos acima — sem afirmações adicionais.
O que os defensores devem saber primeiro?
CVE-2026-63895 é "usb: gadget: f_fs: copy only received bytes on short ep0 read", de severidade Desconhecida. Afeta Linux (Linux); as versões estão na tabela de escopo. Não está na CISA KEV, o que não exclui exploração. EPSS 0.26% estima a probabilidade de exploração em 30 dias; nenhum dos dois substitui o contexto dos seus ativos. Verifique primeiro se ativos expostos ou críticos executam as versões afetadas, aplique as correções ou mitigações do fabricante e preserve logs para análise.
Comentários
Discussão técnica moderada. Leia as regras da comunidade.
Nenhum comentário ainda.
Entre ou crie uma conta para comentar e sugerir correções.