Description
Traccar through 6.16.0 contains a weak password recovery vulnerability that allows attackers to reuse password reset tokens as session credentials because TokenManager does not bind tokens to a purpose. Attackers holding a leaked reset link can obtain a full session via /api/session or change passwords via /api/password/update, retaining access for seven days even after the victim resets their password.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Traccar | Traccar | ≤ 6.16.0 | — |
References
- https://hackmd.io/@haind/traccar-token-purpose-confusion third-party-advisory
- https://github.com/traccar/traccar/blob/cfab560c79ee9c9eaa41c79c6df351e820d6284b/src/main/java/org/traccar/api/signature/TokenManager.java#L47-L109 technical-description
- https://github.com/traccar/traccar/blob/cfab560c79ee9c9eaa41c79c6df351e820d6284b/src/main/java/org/traccar/api/resource/PasswordResource.java#L72-L90 technical-description
- https://github.com/traccar/traccar/blob/cfab560c79ee9c9eaa41c79c6df351e820d6284b/src/main/java/org/traccar/api/resource/SessionResource.java#L77-L93 technical-description
- https://github.com/traccar/traccar product
- VulnCheck Advisory: Traccar through 6.16.0 Weak Password Recovery via TokenManager Token Purpose Confusion third-party-advisory