Koenkk Zigbee2MQTT bis 2.12.0 ExternalJSExtension externalJS.ts ExternalJSExtension.getFilePath Name Directory Traversal
| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 7.1 | $0-$5k | 2.44 |
Zusammenfassung
Eine kritische Schwachstelle wurde in Koenkk Zigbee2MQTT bis 2.12.0 ausgemacht. Es geht um die Funktion ExternalJSExtension.getFilePath der Datei lib/extension/externalJS.ts der Komponente ExternalJSExtension. Dank der Manipulation des Arguments Name mit unbekannten Daten kann eine Directory Traversal-Schwachstelle ausgenutzt werden.
Diese Verwundbarkeit ist als CVE-2026-71279 gelistet. Der Angriff kann über das Netzwerk angegangen werden. Es existiert kein Exploit.
Details
Es wurde eine Schwachstelle in Koenkk Zigbee2MQTT bis 2.12.0 entdeckt. Sie wurde als kritisch eingestuft. Es geht dabei um die Funktion ExternalJSExtension.getFilePath der Datei lib/extension/externalJS.ts der Komponente ExternalJSExtension. Durch das Manipulieren des Arguments name mit einer unbekannten Eingabe kann eine Directory Traversal-Schwachstelle ausgenutzt werden. Im Rahmen von CWE wurde eine Klassifizierung als CWE-22 vorgenommen. Dies hat Einfluss auf Vertraulichkeit, Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:
Zigbee2MQTT's ExternalJSExtension.getFilePath() (lib/extension/externalJS.ts) joins a `name` parameter received via an MQTT message (topic zigbee2mqtt/bridge/request/extension/save) into the extensions base path using path.join(basePath, name) with no sanitization. Because path.join() resolves `../` sequences, a name such as `../../tmp/evil.js` escapes the intended extensions directory. The extension handler only validates that the name ends in .js/.mjs/.cjs, writes the file, and then dynamically imports it via Node.js import(), achieving remote code execution. Requires the `enable_external_js` config option (off by default, but commonly enabled in legacy installs) and MQTT broker access, which is frequently unauthenticated in real deployments. The identical unsanitized getFilePath() is also used by the extension-removal handler, enabling arbitrary file deletion.Bereitgestellt wird das Advisory unter github.com. Die Identifikation der Schwachstelle wird seit dem 05.08.2026 mit CVE-2026-71279 vorgenommen. Die Ausnutzbarkeit ist als leicht bekannt. Der Angriff kann über das Netzwerk erfolgen. Zur Ausnutzung ist keine spezifische Authentisierung erforderlich. Es sind zwar technische Details, jedoch kein verfügbarer Exploit zur Schwachstelle bekannt. Ein Exploit zur Schwachstelle wird momentan etwa USD $0-$5k kosten (Preisberechnung vom 05.08.2026). Als Angriffstechnik weist das MITRE ATT&CK Projekt die ID T1006 aus.
Es sind keine Informationen bezüglich Gegenmassnahmen bekannt. Der Einsatz eines alternativen Produkts bietet sich im Zweifelsfall an.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Produkt
Hersteller
Name
Version
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 7.3VulDB Meta Temp Score: 7.1
VulDB Base Score: 7.3
VulDB Temp Score: 7.1
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: Directory TraversalCWE: CWE-22
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Nein
Lokal: Nein
Remote: Ja
Verfügbarkeit: 🔒
Status: Nicht definiert
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: keine Massnahme bekanntStatus: 🔍
0-Day Time: 🔒
Timeline
05.08.2026 Advisory veröffentlicht05.08.2026 CVE zugewiesen
05.08.2026 VulDB Eintrag erstellt
05.08.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Advisory: github.comStatus: Nicht definiert
CVE: CVE-2026-71279 (🔒)
GCVE (CVE): GCVE-0-2026-71279
GCVE (VulDB): GCVE-100-386217
Eintrag
Erstellt: 05.08.2026 15:43Anpassungen: 05.08.2026 15:43 (56)
Komplett: 🔍
Cache ID: 216::103
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.