Openplc · Openplc · CVE-2026-11826
**Nome do Software Vulnerável e Versões Afetadas**
OpenPLC v3 (versões afetadas não especificadas)
**Descrição**
Um estouro de buffer baseado em heap existe na função `getData()` em `webserver/core/modbus master.cpp`. A função lê caracteres entre dois delimitadores em um buffer fornecido pelo chamador sem parâmetro de tamanho ou verificação de limites. Especificamente, em `parseConfig()`, a função é invocada usando o campo `MB device.dev name` de 100 bytes alocado no heap. Um invasor autenticado com acesso à interface web pode enviar uma requisição HTTP POST manipulada para o endpoint `/modbus` com um valor de `device name` excessivo; o valor é persistido em `mbconfig.cfg` e analisado ao carregar, estourando o `dev name` e sobrescrevendo campos de estrutura adjacentes (`protocol` no deslocamento 108, `dev address` no deslocamento 109, `ip port` no deslocamento 210). Um payload de 200 bytes escreve 100 bytes além da alocação, resultando em corrupção de heap que leva a um travamento de tempo de execução e negação de serviço do loop de controle de processo do PLC.
**Recomendações**
No momento, não há informações sobre uma versão mais recente que contenha a correção para esta vulnerabilidade.
Restrinja o acesso à interface web para minimizar o risco de exploração.