PT-2026-81171 · Unknown · Ocpp 1.6 Client
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
OCPP 1.6 client (versões afetadas não especificadas)
Descrição
Um estouro de buffer de pilha (stack buffer overflow) existe na função
parse getconfig msg() dentro do arquivo subsys/net/lib/ocpp/ocpp j.c. O problema ocorre quando o manipulador processa uma solicitação GetConfiguration de um sistema central e utiliza um strcpy() sem limite para copiar uma string JSON key controlada por um invasor em um buffer de pilha fixo de 50 bytes skey[CISTR50] localizado em subsys/net/lib/ocpp/ocpp.c. Como o comprimento do valor da key é limitado apenas pelo tamanho do buffer de recebimento (CONFIG OCPP RECV BUFFER SIZE), um invasor que controle o endpoint do sistema central ou realize um ataque de man-in-the-middle em uma conexão não criptografada pode enviar uma solicitação com um campo key superior a 50 bytes. Isso pode causar um esmagamento de pilha (stack smash) na thread de leitura ocpp wsreader(), resultando em negação de serviço ou potencialmente execução remota de código.Recomendações
Substitua a função
strcpy() por um strncpy(key, payload.key[0], CISTR50 - 1) limitado e garanta a terminação NUL explícita.Exploit
Correção
RCE
DoS
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
Ocpp 1.6 Client