No kernel Linux, a seguinte vulnerabilidade foi resolvida. usb: misc: usbio: bloco de resposta do comprimento de resposta à transferência recebida usbio_bulk_msg() copia bpkt_len = le 16 _to_cpu(bpkt->len) bytes fora do buffer IN (usbio->rxbuf, alocado com o tamanho usbio->rxbuf_len) no buffer do chamador. bpkt_len é totalmente controlado pelo dispositivo e só é verificado contra ibuf_len; ibuf_len por sua vez é verificado contra usbio->txbuf_len, não contra rxbuf_len: ef (((obuf_len > (usbio->txbuf_len - sizeof(*bpkt)))). (ibuf_len > (usbio->txbuf_len - sizeof(*bpkt)))) devolve - EMSGSIZE;.
txbuf_len e rxbuf_len são tomados independentemente do endpoint OUT e OUT e OUT in input wMaxPaqueteSize em usbio_probe(). Um dispositivo malicioso ou com defeito que anuncia um grande endpoint OUT e um pequeno endpoint IN (por exemplo, alegando um dos IDs livres de peculiaridades, como o Lattice NX 33 U, 0 x 2 ac 1: 0 x 20 cb) portanto faz ibuf_len, e, consequentemente, o dispositivo fornecido bpkt_len, exceder rxbuf_len. memcpy() então lê até txbuf_len - rxbuf_len bytes depois do fim do objeto de laje rxbuf. Os bytes sobre-leídos são entregues de volta ao i 2 camada c e em para o espaço do usuário através de i 2 c- dev, divulgando memória adjacente da laje; com o KASAN isto é relatado como uma laje fora de limites lida. O número de bytes realmente recebidos já é conhecido: ato igual ao tamanho real do URB e é limitado pelo rxbuf_len. Rejeite qualquer resposta que pretenda mais carga útil do que foi recebido, refletindo a verificação existente "act < sizeof(*bpkt)" logo acima. O caminho de controle (usbio_ctrl_msg()) não é afetado: ele usa um único buffer (ctrlbuf) para ambas as direções, para que sua cópia análoga nunca possa deixar a alocação.
Encontrado por revisão de código. A leitura fora de limites foi confirmada sob o AddressSanitizer com um modelo fiel de espaço de usuário do caminho de receção do usbio_bulk_msg() (um buffer de tamanho rxbuf_len, as mesmas verificações act/ibuf_len/bpkt_len e o memcpy). Um reprodutor raw-gadget + dummy_hcd USB também está disponível. Registro de aconselhamento: GHSA- m 28 f- fmgf-v 7 cw. Identificadores relacionados: CVE- 2026 - 64339.
Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 25 T 12: 31: 31.000 Z e lista a sua última modificação como 2026 - 07 - 25 T 12: 31: 32.000 Z. Severidade: não classificado. Nenhum vetor de pontuação está listado no registro.
Software afetado: o registro de aconselhamento não fornece um pacote normalizado ou faixa de versões. Classificação e evidência: nenhum identificador CWE está listado. O registro contém 4 suporte de referências nestes tipos: AVISO, WEB.