Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAuthenticate with group-manage and report permissions
-
DeliverySet group parent to create hierarchy cycle
-
ExploitRequest trips/stops report for device in cycle
-
InstallAttributeUtil.lookup follows parents without termination
-
C2Jetty worker pinned at high CPU
-
ExecuteRepeat requests exhaust worker pool
-
ImpactAPI/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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
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).
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
1DescriptionCVE.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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Traccar is an open source GPS tracking system. Rated critical severity (CVSS 9.6), this vulnerability is remotely exploi
Traccar Traccar Server version 4.0 and earlier contains a CWE-94: Improper Control of Generation of Code ('Code Injectio
Traccar versions 6.11.1 and later allow authenticated users to inject malicious JavaScript into other users' browsers by
Traccar GPS tracking system through version 6.11.1 allows authenticated users to hijack OAuth 2.0 authorization codes th
Versions of the Traccar open-source GPS tracking system up to and including 6.11.1 contain a Cross-Site WebSocket Hijack
Traccar GPS tracking system through version 6.11.1 allows authenticated users to conduct arbitrary file writes by settin
In Traccar Server version 4.2, protocol/SpotProtocolDecoder.java might allow XXE attacks. Rated critical severity (CVSS
Use of Default Credentials vulnerability in Tananaev Solutions Traccar Server on Administrator Panel modules allows Auth
Silent configuration hijack in Traccar Client GPS tracking app (versions 9.7.19 and below) allows remote attackers to re
Password reset tokens in Traccar through 6.16.0 are not bound to their intended purpose, allowing an attacker who posses
Traccar versions 6.11.1 through 6.13.0 fail to escape user-controlled device and computed attributes in CSV export funct
Traccar GPS Tracking System before version 4.9 has a LDAP injection vulnerability. Rated medium severity (CVSS 6.5), thi
EUVD-2026-82389
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB