Skip to main content

Traccar CVE-2026-52852

| EUVDEUVD-2026-82389 MEDIUM
Uncontrolled Recursion (CWE-674)
2026-09-17 security-advisories@github.com
6.5
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

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

  1. Recon
    Authenticate with group-manage and report permissions
  2. Delivery
    Set group parent to create hierarchy cycle
  3. Exploit
    Request trips/stops report for device in cycle
  4. Install
    AttributeUtil.lookup follows parents without termination
  5. C2
    Jetty worker pinned at high CPU
  6. Execute
    Repeat requests exhaust worker pool
  7. Impact
    API/web service denial

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Recursion depth limits
Exploitation Conditions

Requires an authenticated Traccar account (PR:L) that holds BOTH the permission to manage groups AND the permission to request reports; with those, the attacker creates a cyclic group-parent hierarchy and requests a trips or stops report for a device within it. Exploitation is limited to Traccar versions prior to 6.14.0 and to the reporting/storage-backed lookup path (TripsConfig via ReportUtils.slowTripsAndStops) - the position-ingestion cache-backed path is explicitly outside confirmed scope. No user interaction from a victim is needed (UI:N), and the loop persists after client disconnect, so a single malicious low-privileged user can degrade service; the main limiting factor is the specific group-management + reporting privilege combination.

Impact

This is a genuine but moderate, authentication-gated denial-of-service issue, not a critical remote takeover. The vendor CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H, base 6.5) is internally consistent and I agree with it: the impact is availability-only (C:N/I:N/A:H), matching the description of a non-terminating loop that pins a Jetty worker and can exhaust the web/API worker pool. CWE-674 (uncontrolled recursion/loop) is well-chosen - the fix commit confirms the root cause by adding a MAX_GROUP_DEPTH=3 cap in AttributeUtil.lookup and explicit cycle detection in BaseObjectResource.update. Exploitation probability signals are muted: no EPSS score, no CISA KEV listing, and no public exploit code identified, so exploitation status is 'no public exploit identified at time of analysis' - though the GitHub advisory plus fix diff make the mechanism near-trivial to reproduce. The real limiter is privilege: PR:L requires an authenticated account that specifically holds BOTH group-management and report-request permissions, so this is an insider/abused-account risk rather than an anonymous internet threat. One tagging conflict to flag: the input Tag 'Information Disclosure' contradicts the CVSS vector (C:N) - this is a pure DoS, not an info-disclosure flaw. Net: patch on a normal cadence; prioritize higher for multi-tenant Traccar deployments where lower-trust users hold group/report permissions.

Exploit ScenarioDerived

An authenticated Traccar user who can manage groups sets a group's parent to form a cycle in the group-parent hierarchy (permitted by GroupResource), then requests a trips or stops report for a device inside that hierarchy. AttributeUtil.lookup walks the parent chain with no cycle detection, visited set, or depth limit, so the storage-backed lookup never returns and pins a Jetty worker thread at high CPU even after the client disconnects; repeating the request across several sessions exhausts the worker pool and takes the web/API offline. No public exploit code exists, but the GitHub advisory and fix commit make the technique easy to reconstruct.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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

Authenticated Traccar accounts that hold both group-management and report-request permissions can drive the server into a non-terminating group-parent traversal by creating a cyclic group hierarchy and requesting a trips or stops report for a device inside it, pinning a Jetty worker at high CPU even after the client disconnects and eventually exhausting the web/API worker pool if repeated. The flaw exists in Traccar versions prior to 6.14.0 and is limited to the storage-backed reporting path (TripsConfig via ReportUtils.slowTripsAndStops); the position-ingestion cache-backed path is not confirmed affected. No public exploit code has been identified at time of analysis, and exploitation requires the specific combination of group-management and reporting privileges.

RemediationAI

Upgrade to Traccar 6.14.0 or later, which is the vendor-released patch and includes Storage.MAX_GROUP_DEPTH = 3 plus cycle detection in BaseObjectResource.update (commit 8f6f59ac29d8b1222254e938672a0d99098fd800). If immediate upgrade is not possible, restrict the combination of group-management and report-request permissions so that no single low-privileged account holds both; this is a compensating control that reduces the attack surface but may disrupt legitimate group administrators who also need reporting. Monitor Jetty worker threads for high-CPU, non-terminating report requests and consider rate-limiting or temporarily disabling the trips/stops report endpoints for non-admin users, accepting the business impact of reduced reporting capability.

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-674 (Uncontrolled Recursion) arising from the group hierarchy traversal in org.traccar.helper.model.AttributeUtil.lookup, which follows parent group IDs without cycle detection, a visited set, or a depth limit. GroupResource / BaseObjectResource.update only rejected self-parenting (group.getId() == group.getGroupId()) but allowed longer cycles to be persisted. When a trips or stops report is requested, ReportUtils.slowTripsAndStops reaches a storage-backed lookup through TripsConfig that iterates the cyclic chain indefinitely. The upstream fix in 6.14.0 introduces Storage.MAX_GROUP_DEPTH = 3 and adds bounded traversal plus a storage lookup in BaseObjectResource.update to detect any ancestor equal to the updated group's ID. Traccar is a Java-based GPS tracking server; the affected interface is the web/API reporting layer, not the device position-ingestion cache path.

Know when Traccar 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 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 6.5 MEDIUM

Network-reachable API (AV:N), trivial to trigger once privileged (AC:L), requires an authenticated group-manage+report user (PR:L), pure availability impact via worker-pool exhaustion (A:H, C/I:N).

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/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
None
Integrity
None
Availability
High

Lifecycle Timeline

1
Patch available
Sep 17, 2026 - 20:19 EUVD

DescriptionCVE.org

Traccar is an open source GPS tracking system. Prior to 6.14.0, an authenticated user with permission to manage groups and request reports can create a cyclic group-parent hierarchy and request a trips or stops report for a device in that hierarchy. org.traccar.api.resource.GroupResource permits the parent cycle, while org.traccar.helper.model.AttributeUtil.lookup follows group parents without cycle detection, a visited set, or a depth limit. The storage-backed lookup reached through TripsConfig. and ReportUtils.slowTripsAndStops never terminates, pins a Jetty worker at high CPU after the client disconnects, and can exhaust the web/API worker pool when requests are repeated. The position-ingestion cache-backed path is not part of the confirmed affected scope. This issue is fixed in 6.14.0.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Medium
popular open-source GPS/fleet-tracking server, but domain-specific niche
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2024-31214 CRITICAL POC
9.6 Apr 10

Traccar is an open source GPS tracking system. Rated critical severity (CVSS 9.6), this vulnerability is remotely exploi

CVE-2018-1000881 CRITICAL POC
9.8 Dec 20

Traccar Traccar Server version 4.0 and earlier contains a CWE-94: Improper Control of Generation of Code ('Code Injectio

CVE-2026-25648 HIGH POC
8.7 Feb 23

Traccar versions 6.11.1 and later allow authenticated users to inject malicious JavaScript into other users' browsers by

CVE-2026-25649 HIGH POC
7.3 Feb 23

Traccar GPS tracking system through version 6.11.1 allows authenticated users to hijack OAuth 2.0 authorization codes th

CVE-2025-68930 HIGH POC
7.1 Feb 23

Versions of the Traccar open-source GPS tracking system up to and including 6.11.1 contain a Cross-Site WebSocket Hijack

CVE-2026-23521 MEDIUM POC
6.5 Feb 23

Traccar GPS tracking system through version 6.11.1 allows authenticated users to conduct arbitrary file writes by settin

CVE-2019-5748 CRITICAL
9.8 Jan 09

In Traccar Server version 4.2, protocol/SpotProtocolDecoder.java might allow XXE attacks. Rated critical severity (CVSS

CVE-2024-7746 CRITICAL
9.5 Aug 13

Use of Default Credentials vulnerability in Tananaev Solutions Traccar Server on Administrator Panel modules allows Auth

CVE-2026-48745 CRITICAL
9.3 Jun 16

Silent configuration hijack in Traccar Client GPS tracking app (versions 9.7.19 and below) allows remote attackers to re

CVE-2026-108737 HIGH
7.6 Oct 11

Password reset tokens in Traccar through 6.16.0 are not bound to their intended purpose, allowing an attacker who posses

CVE-2026-27644 MEDIUM
6.5 May 05

Traccar versions 6.11.1 through 6.13.0 fail to escape user-controlled device and computed attributes in CSV export funct

CVE-2020-5246 MEDIUM
6.5 Jul 14

Traccar GPS Tracking System before version 4.9 has a LDAP injection vulnerability. Rated medium severity (CVSS 6.5), thi

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