{"id":"CVE-2026-71279","summary":"Zigbee2MQTT External JS Extension Path Traversal Leading to Remote Code Execution","details":"Zigbee2MQTT's ExternalJSExtension.getFilePath (lib/extension/externalJS.ts) joins a 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. 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.","modified":"2026-08-28T11:30:40.170440159Z","published":"2026-08-05T12:26:25.594Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/71xxx/CVE-2026-71279.json","cna_assigner":"TuranSec","cwe_ids":["CWE-22"]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/71xxx/CVE-2026-71279.json"},{"type":"ADVISORY","url":"https://github.com/Koenkk/zigbee2mqtt"},{"type":"ADVISORY","url":"https://github.com/Koenkk/zigbee2mqtt/blob/master/lib/extension/externalJS.ts"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-71279"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/koenkk/zigbee2mqtt","events":[{"introduced":"0"},{"last_affected":"fd8bafc81d03aa401f41eba5803a3dd1dd8092cd"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"last_affected":"2.12.0"}],"source":"AFFECTED_FIELD"}}],"versions":["2.12.0","2.11.0","2.10.1","2.10.0","2.9.2","2.9.1","2.9.0","2.8.0","2.7.2","2.7.1","2.7.0","2.6.3","2.6.2","2.6.1","2.6.0","2.5.1","2.5.0","2.4.0","2.3.0","2.2.1","2.2.0","2.1.3","2.1.2","2.1.1","2.1.0","2.0.0","1.42.0","1.41.0","1.40.2","1.40.1","1.40.0","1.39.1","1.39.0","1.38.0","1.37.1","1.37.0","1.36.1","1.36.0","1.35.3","1.35.2","1.35.1","1.35.0","1.34.0","1.33.2","1.33.1","1.33.0","1.32.2","1.32.0","1.31.0","1.30.4","1.30.3","1.30.2","1.30.0","1.29.2","1.29.1","1.29.0","1.28.4","1.28.3","1.28.1","1.28.0","1.27.2","1.27.1","1.27.0","1.26.0","1.25.2","1.25.1","1.25.0","1.24.0","1.23.0","1.22.2","1.22.1","1.22.0","1.21.2","1.21.1","1.21.0","1.20.0","1.19.0","1.18.3","1.18.2","1.18.1","1.18.0","1.17.1","1.17.0","1.16.2","1.16.0","1.15.0","1.14.4","1.14.2","1.14.1","1.14.0","1.13.1","1.13.0","1.12.1","1.12.0","1.11.0","1.10.0","1.9.0","1.8.0","1.7.1","1.7.0","1.6.0","1.5.1","1.5.0","1.4.0","1.3.0","1.2.0","1.1.0","1.0.0","0.2.0","0.1.8","0.1.7","0.1.6","0.1.5","0.1.4","0.1.3","0.1.2","0.1.1","0.1.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-71279.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}