CVE-2026-71279 in Zigbee2MQTTinfo

Zusammenfassung

von VulDB • 05.08.2026

Die Funktion `ExternalJSExtension.getFilePath()` von Zigbee2MQTT (lib/extension/externalJS.ts) fügt einen über eine MQTT-Nachricht empfangenen Parameter `name` (Thema zigbee2mqtt/bridge/request/extension/save) ohne Sanitisierung an den Basispfad der Erweiterungen mittels `path.join(basePath, name)` an. Da `path.join()` Sequenzen von `../` auflöst, ermöglicht ein Name wie `../../tmp/evil.js`, das beabsichtigte Erweiterungsverzeichnis zu verlassen. Der Erweiterungshandler validiert lediglich, dass der Name auf `.js/.mjs/.cjs` endet, schreibt die Datei und importiert sie anschließend dynamisch über Node.js `import()`, was zur Remote Code Execution (RCE) führt. Dies erfordert die Konfigurationsoption `enable_external_js` (standardmäßig deaktiviert, aber in Legacy-Installationen häufig aktiviert) sowie Zugriff auf den MQTT-Broker, der in realen Bereitstellungen oft unauthentifiziert ist. Die identische, nicht gesäuberte Funktion `getFilePath()` wird auch vom Erweiterungsentfernungs-Handler verwendet und ermöglicht so das Löschen beliebiger Dateien.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Zuständig

TuranSec

Reservieren

05.08.2026

Veröffentlichung

05.08.2026

Moderieren

akzeptiert

Eintrag

VDB-386217

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Interested in the pricing of exploits?

See the underground prices here!