PT-2026-68152 · Unknown · Zigbee2Mqtt
CVSS v3.1
8.0
Alta
| Vetor | AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Nome do Software Vulnerável e Versões Afetadas
Zigbee2MQTT (versões afetadas não especificadas)
Description
Existe um problema na função
ExternalJSExtension.getFilePath() em lib/extension/externalJS.ts, onde um parâmetro name recebido via tópico MQTT zigbee2mqtt/bridge/request/extension/save é unido ao caminho base de extensões usando path.join() sem a devida sanitização. Como o path.join() resolve sequências ../, um invasor pode usar um caminho como ../../tmp/evil.js para escapar do diretório pretendido. O sistema apenas valida que o arquivo termine em .js, .mjs ou .cjs antes de gravá-lo e importá-lo dinamicamente via import() do Node.js, resultando em execução remota de código. Isso requer que a opção de configuração enable external js esteja ativa e que haja acesso ao broker MQTT. Adicionalmente, a mesma função getFilePath() não sanitizada é utilizada pelo manipulador de remoção de extensões, permitindo a exclusão arbitrária de arquivos.Recommendations
Desative a opção de configuração
enable external js para impedir a execução de arquivos JavaScript externos.
Restrinja o acesso ao broker MQTT para garantir que apenas usuários autorizados possam enviar mensagens para a ponte.
No momento, não há informações sobre uma versão mais recente que contenha a correção para esta vulnerabilidade.Exploit
RCE
Path traversal
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Zigbee2Mqtt