CVE-2026-71282: ChirpStack SQLite Backend SQL Injection via Device Tag Key in ListDevices Filter
ChirpStack's SQLite-backend device tag filtering (chirpstack/src/storage/device.rs, in both getcount() and list()) interpolates the user-supplied tag KEY directly into a raw SQL fragment via Rust's format!() macro (dsl::sql::<Bool>(&format!("device.tags->>'{}' =", k)).bind::<Text, >(v)), while only the tag VALUE is safely parameter-bound via Diesel's .bind(). An authenticated user with device-list access can inject SQL via a crafted tag key when the SQLite backend (chirpstack-sqlite package) is in use; the PostgreSQL backend is unaffected as it uses Diesel's native JSONB containment operator instead of raw SQL string formatting.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-71282?
The severity of CVE-2026-71282 is rated medium with a score of 6.5.
How do I fix CVE-2026-71282?
To fix CVE-2026-71282, sanitize user inputs in the SQLite backend to prevent SQL injection risks.
What type of vulnerability is CVE-2026-71282?
CVE-2026-71282 is an SQL Injection vulnerability in ChirpStack's SQLite backend.
Which software is affected by CVE-2026-71282?
CVE-2026-71282 affects the ChirpStack software using an SQLite backend.
What are the potential impacts of CVE-2026-71282?
The potential impacts of CVE-2026-71282 include unauthorized access to sensitive data due to SQL injection exploits.