OpenSIPS versions 3.1 before 3.6.4 containing the auth_jwt module (prior to commit 3822d33) contain a SQL injection vulnerability in the jwt_db_authorize() function in modules/auth_jwt/authorize.c when db_mode is enabled and a SQL database backend is used. The function extracts the tag claim from a JWT without prior signature verification and incorporates the unescaped value directly into a SQL query. An attacker can supply a crafted JWT with a malicious tag claim to manipulate the query result and bypass JWT authentication, allowing impersonation of arbitrary identities.
Security readout for executives and security teams
Plain-English summary
A flaw in OpenSIPS JWT authentication can let a remote unauthenticated attacker bypass identity checks when auth_jwt uses database mode with SQL storage. The attacker-controlled JWT tag value is queried before signature verification, so authentication decisions can be manipulated.
Executive priority
Treat as high priority for any OpenSIPS environment using JWT authentication backed by SQL. Successful exploitation could let attackers impersonate identities without valid JWT authentication, affecting call routing, access control, and service trust.
Technical view
CVE-2026-25554 is a CWE-89 SQL injection in OpenSIPS auth_jwt jwt_db_authorize(). With db_mode and a SQL backend, the unverified JWT tag claim is inserted unescaped into a SQL query, potentially changing query results and enabling JWT authentication bypass or impersonation.
Likely exposure
Exposure is limited to OpenSIPS deployments using the auth_jwt module with db_mode enabled and a SQL database backend. The source bundle identifies affected code before commit 3822d33 and versions described as 3.1 before 3.6.4, though the title/version boundary is somewhat inconsistent.
Exploitation context
The bundle does not cite active exploitation and KEV is false. The reported attack path is network-accessible, low-complexity, and requires no privileges or user interaction, but depends on the vulnerable auth_jwt database configuration being present.
Researcher notes
Key condition is the order of operations: the tag claim is consumed in a database query before JWT signature verification. The source bundle supports authentication bypass through SQL query manipulation but does not provide evidence of public exploitation in the wild.
Mitigation direction
Identify OpenSIPS systems using auth_jwt with db_mode and SQL backend.
Upgrade to the vendor-fixed OpenSIPS release or code containing commit 3822d33.
Review OpenSIPS 3.6.4 changelog and advisory guidance for exact fixed versions.
Restrict network access to SIP authentication paths where operationally possible.
Monitor authentication logs for unexpected JWT identity changes or bypass patterns.
Validation and detection
Inventory OpenSIPS versions and confirm whether auth_jwt is loaded.
Check configuration for auth_jwt db_mode and SQL database use.
Confirm deployed source or package includes commit 3822d33 or later vendor fix.
Review logs for anomalous JWT tag values or unexpected authenticated identities.
Validate remediation in staging before returning affected auth paths to normal exposure.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-89: Database access and collection lookup
Injection into data stores can inform collection, data access, and exfiltration detection reviews. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references authentication or credential exposure, so valid-account and credential-access review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
The CVE wording references database injection or access, so collection and exfiltration review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-89 · source CWE mapping
Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.