PT-2026-136127
CVE-2026-85032
·
Publicado
2026-11-03
·
Atualizado
2026-11-03
Descrição por
CVSS 3.1
4.8
MédiaMétricasAV:P/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H
Nome do Software Vulnerável e Versões Afetadas
MCTP subsystem (versões afetadas não especificadas)
Descrição
Existe uma condição de corrida na classe de dispositivo MCTP sobre USB em
subsys/pmci/mctp/mctp usb.c. O sistema divide o processamento de RX entre uma fila de trabalho do sistema que executa mctp usb class out work() e uma thread de pilha de dispositivo USB que executa mctp usb class disable(). O manipulador de desativação utiliza k work cancel(), que remove um item de trabalho enfileirado, mas não aguarda a conclusão de um manipulador que já esteja em execução. Subsequentemente, mctp usb reset rx state() chama mctp pktbuf free() no buffer de pacotes que a thread de trabalho ainda pode estar utilizando.Um host USB conectado pode desencadear isso transmitindo frames MCTP parciais no endpoint bulk OUT e forçando repetidamente um reset de barramento ou uma requisição SET CONFIGURATION via
usbd config reset() em subsys/usb/device next/usbd config.c. Isso permite que um invasor controle os dados analisados e o momento do encerramento sem a necessidade de credenciais.Dependendo da configuração do sistema, isso pode levar a dois resultados:
- Em sistemas com
CONFIG SMPouCONFIG SYSTEM WORKQUEUE PRIORITYpreemptivo, o worker pode escrever bytes fornecidos pelo host em memória liberada do heap MCTP (CONFIG MCTP HEAP SIZE), corrompendo buffers reciclados ou metadados de blocos livres dosys heap. - Em sistemas com fila de trabalho cooperativa, o worker pode ceder a execução dentro de
mctp bus rx()e posteriormente chamarmctp pktbuf free()em um ponteiro NULL, causando uma falha no sistema.
Recomendações
Substitua a chamada
k work cancel() por k work cancel sync() e implemente um novo struct k work sync out work sync para garantir que o worker de RX termine antes que o FIFO seja esvaziado e o buffer de pacotes seja liberado.
Como mitigação temporária, restrinja o uso da classe de dispositivo MCTP sobre USB desativando CONFIG MCTP USB caso o subsistema MCTP experimental não seja necessário.Explorabilidade
Exploit
Correção
Impactos
Pesquisadores
Fornecedores
Produtos afetados
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾