PT-2026-68123 · Unknown · Nanomodbus
CVSS v3.1
9.8
Crítica
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Nome do Software Vulnerável e Versões Afetadas
nanoMODBUS versões anteriores a 1.23.1
Descrição
Uma gravação fora dos limites (out-of-bounds write) existe na função
handle read file record() (FC 0x14, Read File Record) do lado do servidor em nanomodbus.c. Embora a função valide o tamanho total da requisição e o record length de cada sub-requisição, ela não valida o tamanho cumulativo da resposta entre todas as sub-requisições. O acumulador response data size, declarado como uint8 t, pode sofrer overflow ao processar até 35 sub-requisições. Isso permite que um loop subsequente chame get n() e swap regs(), que gravam dados incondicionalmente em um ponteiro derivado do buffer de recebimento msg.buf de 260 bytes. Um cliente de rede não autenticado pode enviar uma requisição FC 0x14 manipulada para gravar aproximadamente 8490 bytes além do buffer, podendo levar à corrupção de memória, negação de serviço ou execução remota de código, especialmente em sistemas embarcados ou bare-metal sem proteção de memória.Recomendações
Atualize o nanoMODBUS para uma versão posterior a 1.23.0.
Como medida paliativa temporária, restrinja o acesso de rede ao servidor Modbus apenas a clientes confiáveis para evitar requisições não autenticadas.
Exploit
Correção
DoS
RCE
Memory Corruption
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Nanomodbus