CVE-2026-80772 in Linuxinformação

Sumário

de VulDB • 04/09/2026

No kernel do Linux, a seguinte vulnerabilidade foi corrigida:

HID: nintendo: corrige leitura fora dos limites em joycon_ctlr_read_handler()

joycon_ctlr_read_handler() converte um relatório de entrada HID recebido para struct joycon_input_report e o analisa, protegendo a conversão apenas com uma verificação de comprimento de 12 bytes:

if (size >= 12) /* garante que contém o relatório de entrada */ joycon_parse_report(ctlr, (struct joycon_input_report *)data);

A struct joycon_input_report tem 49 bytes: um cabeçalho de 13 bytes seguido por uma union cujo braço IMU possui 36 bytes. Para um relatório IMU, a função joycon_parse_report() -> joycon_parse_imu_report() percorre essa union (offsets da estrutura 13..48), portanto, um relatório com exatamente 12 bytes e data[0] == JC_INPUT_IMU_DATA passa na verificação de proteção, mas lê até 37 bytes além do seu comprimento declarado. Os bytes lidos em excesso são decodificados como valores de acelerômetro/giroscópio e encaminhados para o espaço do usuário através do dispositivo de entrada "(IMU)", vazando memória interna do driver. data[0] e size são totalmente controlados por um Joy-Con/Pro Controller malicioso ou spoofado (com falsificação).

Os buffers de recebimento têm tamanho igual ao comprimento máximo do relatório, portanto, esta é uma leitura fora dos limites dentro da alocação, em vez de um slab OOB (out-of-bounds), mas os bytes decodificados ainda alcançam o espaço do usuário.

O caminho subcmd irmão em joycon_ctlr_handle_event() já limita corretamente a mesma conversão:

if (size < sizeof(struct joycon_input_report) || data[0] != JC_INPUT_SUBCMD_REPLY)
break;

Use o mesmo limite de sizeof(struct joycon_input_report) aqui.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsável

Linux

Reservar

26/08/2026

Divulgação

04/09/2026

Moderação

aceite

Entrada

VDB-398960

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Do you want to use VulDB in your project?

Use the official API to access entries easily!