PT-2026-102413 · Mcumgr · Mcumgr
CVSS v3.1
6.8
Média
| Vetor | AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H |
Nome do Software Vulnerável e Versões Afetadas
MCUmgr (versões afetadas não especificadas)
Descrição
Um estouro de inteiro (integer underflow) ocorre no transporte SMP-over-console ao processar quadros base64. A função
mcumgr serial process frag() em subsys/mgmt/mcumgr/transport/src/serial util.c subtrai incondicionalmente 2 do comprimento do buffer para remover o CRC. Como a função mcumgr serial extract len() aceita um comprimento declarado de 0 ou 1, a variável net buf::len (um uint16 t) sofre underflow, fazendo com que o sistema trate um buffer pequeno como se tivesse aproximadamente 65 KB de carga útil.Isso pode ser acionado por uma linha não autenticada de 7 bytes enviada ao console de gerenciamento via transportes que utilizam
CONFIG MCUMGR TRANSPORT UART ou CONFIG MCUMGR TRANSPORT SHELL. O underflow permite que a função smp process request packet() em subsys/mgmt/mcumgr/smp/src/smp.c ignore as verificações de limite. Ao preparar conteúdos específicos no buffer, um invasor pode fazer com que a função net buf pull() mova o cursor de análise para fora dos limites, resultando em uma leitura fora de limites (out-of-bounds read). Isso pode causar a negação de serviço ao interromper a thread do MCUmgr ou levar à divulgação de memória através do manipulador CONFIG MCUMGR GRP OS ECHO.Recomendações
Atualize o software para uma versão onde a função
mcumgr serial extract len() rejeite comprimentos de pacotes declarados de dois bytes ou menos.
Como medida de mitigação temporária, restrinja o acesso de escrita ao console de gerenciamento, como a porta USB CDC-ACM ou o cabeçalho UART.Exploit
Correção
DoS
Integer Underflow
Out of bounds Read
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Mcumgr