CVE-2026-71282
Received Received - Intake

SQL Injection in ChirpStack SQLite-Backend Device Tag Filtering

Vulnerability report for CVE-2026-71282, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-05

Last updated on: 2026-08-05

Assigner: 309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c

Description

ChirpStack's SQLite-backend device tag filtering (chirpstack/src/storage/device.rs, in both get_count() 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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-05
Last Modified
2026-08-05
Generated
2026-08-05
AI Q&A
2026-08-05
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
chirpstack chirpstack-sqlite *
chirpstack chirpstack *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-89 The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability involves SQL injection in ChirpStack's SQLite backend. When filtering devices by tags, the system directly interpolates user-supplied tag keys into raw SQL queries without proper sanitization. This allows authenticated users with device-list access to inject malicious SQL code through crafted tag keys, potentially manipulating database queries.

Detection Guidance

Detecting this vulnerability requires checking for SQL injection attempts in device tag keys when using the SQLite backend. Monitor database logs for suspicious SQL queries containing device.tag->>' patterns with malformed keys. Inspect ChirpStack logs for authentication attempts followed by unusual device listing operations.

Impact Analysis

An attacker could exploit this to read, modify, or delete sensitive data in the database. They might extract device credentials, alter device configurations, or disrupt network operations. The attack requires authentication but could lead to unauthorized access or service disruption.

Compliance Impact

This vulnerability could violate data protection requirements under GDPR and HIPAA by enabling unauthorized access to personal or health-related data. Organizations using ChirpStack with SQLite backend may fail compliance audits due to inadequate SQL injection protections.

Mitigation Strategies
  • Switch from SQLite to PostgreSQL backend immediately by setting CHIRPSTACK_DATABASE_BACKEND=postgresql in environment variables.
  • Apply input validation to sanitize device tag keys before they reach the database query logic.
  • Update ChirpStack to the latest patched version once available from official repositories.
  • Restrict device-list access permissions to only trusted users until patched.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-71282. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart