CVE-2026-71279
A permanent, source-backed tracker page. Values are shown only when returned; explicit gaps and read failures remain different states.
What it is
ReportedZigbee2MQTT'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.… Source description excerpt; complete tracked detail loads below.
NVD published: Aug 5, 2026 · Source record updated: Aug 8, 2026 · Tracker snapshot: Aug 8, 2026
What is affected
ReportedKoenkk — zigbee2mqtt. Product-level identification only; no affected-version conclusion is available from this field.
NVD published: Aug 5, 2026 · Source record updated: Aug 8, 2026 · Tracker snapshot: Aug 8, 2026
Urgency and basis
ReportedTrack · 121.0
Tracker decision tier from the evidence detailed below · Source record updated: Aug 8, 2026 · Tracker snapshot: Aug 8, 2026
Exploitation evidence
Not reportedNot reported by tracked sources.
What to do
ReportedA source remediation link is available. Validate that guidance against the affected product and your environment.
Source remediation ↗Tracked source remediation field · Source record updated: Aug 8, 2026 · Tracker snapshot: Aug 8, 2026
Evidence detail
Loading the full tracker evidence record…