This CVE represents a broadcast XSS vulnerability where the attack surface is the aggregate of every Malla dashboard connected to a public Meshtastic MQTT broker, not any single instance. A malicious actor publishes a node name containing a script tag to the open broker, and that payload executes simultaneously in the browser of every visitor to every Malla instance that ingested that data—no authentication required, no victim interaction beyond loading the dashboard.

The vulnerability exists because Malla stored node names from the public Meshtastic MQTT broker without sanitization and rendered them without escaping. The fix applies sanitization at storage (preventing future injection) and escaping at render (protecting against data injected before the sanitization was in place). This defense-in-depth approach is correct, but the dual requirement reveals the original review process never modeled the broker as an adversarial environment.

What makes this significant is the population being targeted. Meshtastic users are privacy-conscious and technically sophisticated—exactly the users whose browser sessions, stored credentials, or local network access might be valuable. Compromising the dashboard gives attackers persistent browser context without touching mesh hardware.

The deeper architectural problem: this same trust assumption likely exists in other Meshtastic analysis tools, dashboards, and aggregators. The Meshtastic MQTT architecture is intentionally open—anyone can publish to the broker—which means every tool ingesting that data without sanitization has this vulnerability dormant. The coordinated disclosure question isn't unique to Meshtastic; it's endemic to any tool built on open broadcast infrastructure (GPS/AIS aggregators, public SCADA feeds, RSS parsers all showed this pattern in previous cycles).

Check your Malla instance's SQLite storage for any node names containing HTML or script tags, even if the current firmware version is patched. The payload persists in the database indefinitely until explicitly purged—the attack window isn't 'while the attacker broadcasts,' it's 'from injection until manual cleanup.'