Skip to main content

Traccar EUVDEUVD-2026-82388

| CVE-2026-52851 HIGH
SQL Injection (CWE-89)
2026-09-17 security-advisories@github.com
7.1
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as non-readonly user
  2. Delivery
    Craft DELETE /api/permissions with extra JSON key
  3. Exploit
    Inject key concatenated into SQL WHERE
  4. Execution
    Use blind boolean/error oracle responses
  5. Impact
    Extract admin email, password hashes and salts

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated Traccar account that is NOT read-only and that holds access to at least one object usable in a permission pair (e.g. a device/group/user link), per the description. Exploitation is performed by submitting DELETE /api/permissions with an extra, attacker-chosen JSON key beyond the two validated keys; that key name is concatenated into the SQL WHERE clause. Limiting factors: unauthenticated requests are explicitly rejected, the account must have write (non-readonly) permissions, and only affects Traccar versions prior to 6.14.0 - patched instances validate that the permission map contains exactly two keys.

Impact

This is a genuine, well-substantiated SQL injection (CWE-89) confirmed by vendor advisory GHSA-jx5h-fxhc-cc9w and a specific fix commit, with the root cause visible in the diff (DatabaseStorage.removePermission concatenated every JSON map key as a SQL column identifier while Permission.java validated only two). The vendor CVSS of 7.1 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N) is well-calibrated: network-reachable and low-complexity, but gated by PR:L - the attacker must already be an authenticated, non-readonly user holding a usable permission-pair object, so this is not an unauthenticated pre-auth breach. Impact is real: a blind boolean/error oracle enables extraction of arbitrary DB values including administrator email, password hashes and salts (justifying C:H), plus conditional permission-row deletion (I:L). No EPSS score, no CISA KEV listing, and no public POC were provided, so this is 'no public exploit identified at time of analysis' - a patch-and-prioritize item rather than an actively-exploited emergency. The main risk amplifier is that credential-hash exfiltration can escalate a low-privilege account toward full admin compromise, which elevates practical severity above the raw score for internet-exposed Traccar instances.

Exploit ScenarioDerived

An authenticated non-readonly Traccar user who has access to any object usable in a permission pair sends DELETE /api/permissions with a JSON body containing the two legitimate keys plus a third attacker-controlled key whose name is injected verbatim into the SQL WHERE clause. By crafting boolean or error conditions in that key, the attacker turns the endpoint into a blind oracle and iteratively extracts the administrator's email, password hash and salt. No public POC was provided, but the fix commit and advisory fully disclose the mechanism.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 17, 2026

SQL injection in the Traccar GPS tracking server affects all versions prior to 6.14.0 and allows an authenticated, non-read-only user to extract arbitrary database values - including administrator email addresses, password hashes and salts - or to conditionally delete permission rows. The attacker submits a DELETE /api/permissions request with an extra, attacker-chosen JSON key: only the first two keys are validated by Permission.java, while DatabaseStorage.removePermission() concatenates every map key into the SQL WHERE clause as a column identifier, turning the key name into injectable SQL and providing a blind boolean/error oracle. Exploitation requires a valid account with write permissions and access to at least one object usable in a permission pair; unauthenticated requests are explicitly rejected (CVSS 3.1 7.1, PR:L, C:H/I:L). No public exploit code has been identified at time of analysis, and a vendor-released patch (6.14.0) is available.

RemediationAI

Upgrade Traccar to version 6.14.0 or later, which enforces that a permission map contains exactly two entries and builds the DELETE query from explicit owner/property identifiers with bound parameters; the tracked fix is upstream commit cd0dbaf5df806139f508cbafaba20b34e62b499e and the release notes are at https://github.com/traccar/traccar/releases/tag/v6.14.0 (advisory: https://github.com/traccar/traccar/security/advisories/GHSA-jx5h-fxhc-cc9w). No vendor-released patch exists for versions before 6.14.0, so where upgrading immediately is not possible, compensating controls are needed: strip write/manage privileges from non-administrative accounts so they cannot reach DELETE /api/permissions (trade-off: legitimate device/group sharing and permission maintenance must then be performed by an administrator), and restrict the /api/permissions route at a reverse proxy or API gateway to trusted administrative source addresses or roles (trade-off: breaks legitimate remote permission management from untrusted networks). Because the injection is blind, restricting the database account used by Traccar to the minimum required schema privileges reduces the ability to destroy or modify data but does not prevent extraction of read-accessible values such as password hashes and salts, so it should be treated as a hardening measure only. Any instance that ran a vulnerable version with untrusted write-capable accounts should also rotate Traccar user credentials and review permission rows for unexpected deletions, since the same primitive can conditionally delete records.

Affected VersionsENISA

traccar < 6.14.0

Affected Packages

euvd traccar fix: 6.14.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-89, SQL injection, in a Java application where request JSON is bound to a LinkedHashMap<String, Long> inside org.traccar.model.Permission. Because Jackson binds arbitrary extra keys into that map, and because Permission.java only inspected the first two entries, a third key could reach DatabaseStorage.removePermission(). That method built its WHERE clause by joining every map key with " = ?" (for example, key + " = ?" concatenated per entry), so the attacker-controlled key was inserted directly into the SQL text as a column name rather than being passed as a bound parameter - with the corresponding value still bound, yielding classic blind/boolean and error-based extraction. The attacker must already be authenticated with a non-readonly account that can reference at least one object (device, group, user, etc.) to form a permission pair, which limits, but does not eliminate, the impact. The fix commit cd0dbaf5df806139f508cbafaba20b34e62b499e both hardens the model - rejecting maps whose size is not exactly 2 with an IllegalArgumentException - and rewrites the query to use Permission.getKey(getOwnerClass()) and Permission.getKey(getPropertyClass()) with two explicitly bound parameters, removing any dependence on map key names in SQL construction.

Know when Java gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 7.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
vuln.today AI 7.1 HIGH

Network REST endpoint with low complexity but requires an authenticated non-readonly account (PR:L); oracle leaks admin hashes/salts (C:H) and allows conditional permission-row deletion (I:L), no availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Sep 17, 2026 - 20:19 EUVD
CVE Published
Sep 17, 2026 - 19:16 cve.org
HIGH 7.1

DescriptionCVE.org

Traccar is an open source GPS tracking system. Prior to 6.14.0, an authenticated, non-readonly user with access to an object usable in a permission pair can submit DELETE /api/permissions with an extra attacker-controlled JSON key. Permission(LinkedHashMap<String, Long>) in src/main/java/org/traccar/model/Permission.java validates only the first two keys, but DatabaseStorage.removePermission() in src/main/java/org/traccar/storage/DatabaseStorage.java concatenates every map key into the SQL WHERE clause as a column identifier. The extra key therefore becomes attacker-controlled SQL and provides a blind boolean or error oracle that can extract arbitrary database values, including administrator email, password hashes, and salts, or conditionally delete permission rows. Unauthenticated requests are rejected. This issue is fixed in 6.14.0.

Technical POC Analysis

CWE-89.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A high-severity SQL injection flaw in Traccar's GPS tracking server (all versions before 6.14.0) lets any authenticated user with write access manipulate backend database queries, potentially exposing administrator email addresses and password hashes or deleting access-control records. Because Traccar often underpins fleet, asset, and lone-worker tracking operations, credential theft or permission tampering here could expose location data and disrupt safety-critical monitoring. Leadership should care about the elevated insider and compromised-account risk this creates across the organization's tracked assets and workforce.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Medium
popular self-hosted open-source GPS/fleet tracking platform, sizable but niche footprint
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy