PT-2026-49135 · Liambindle · Mqtt-C
Saidakbarxon Maxsudxonov
·
Publicado
2026-06-14
·
Atualizado
2026-06-15
·
CVE-2026-54412
CVSS v3.1
8.2
Alta
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H |
Nome do Software Vulnerável e Versões Afetadas
LiamBindle MQTT-C versões anteriores a 1.1.7
Descrição
Uma leitura fora dos limites do heap (out-of-bounds read) e um subfluxo de inteiro (integer underflow) existem na função
mqtt unpack publish response() em src/mqtt.c. Um invasor remoto não autenticado que controle um broker MQTT ou consiga injetar tráfego em uma sessão não criptografada pode causar a falha (crash) de um cliente inscrito e potencialmente expor a memória adjacente do heap ao enviar um pacote PUBLISH manipulado. O problema ocorre porque a função não verifica se o campo topic name size, lido do pacote, somado ao overhead, cabe dentro do remaining length do cabeçalho fixo. Isso leva a um subfluxo de inteiro ao calcular o application message size usando aritmética sem sinal, que é então passado para a função memmove(). Por exemplo, um pacote com topic name size definido como 0xFFFF e remaining length definido como 7 faz com que o ponteiro de análise avance 65535 bytes além do buffer de recebimento e resulte em um application message size próximo a 2^32, derrubando o processo.Recomendações
Atualize para uma versão posterior a 1.1.6.
Como medida paliativa temporária, restrinja o acesso à função
mqtt unpack publish response() ou evite a conexão com brokers MQTT não confiáveis até que uma correção seja aplicada.Correção
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
Mqtt-C