Turms IM Server
CVE-2025-66911
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with any valid Turms account
-
ExploitSend online-status query for arbitrary user IDs
-
ExecutionReceive status, device info and login timestamps
-
ImpactHarvest presence metadata on target users
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Access control enforcement
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a valid authenticated account on the Turms IM server (CVSS PR:L); any such account can invoke the vulnerable handleQueryUserOnlineStatusesRequest() in UserServiceController.java to query arbitrary users' online status, device info, and login timestamps against a default configuration - no special feature toggle or non-default setting is implied by the description. The limiting factor is that unauthenticated outsiders cannot exploit it: an attacker must first obtain or register a server account, and the leaked data is presence/device metadata rather than message content or credentials. |
| Impact | This is a medium-severity broken access control / authorization flaw (CWE-284), not a critical priority. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/C:H/I:N/A:N, 6.5) shows a network-reachable, low-complexity attack but requires an authenticated account (PR:L), and impact is confidentiality-only (no integrity or availability loss). Publicly available exploit code exists (referenced GitHub report), which raises practical risk, but there is no CISA KEV listing and no EPSS score was supplied, so there is no evidence of active or widespread exploitation - treat POC availability and active exploitation as distinct signals. The input rates confidentiality High, but the disclosed data is user presence metadata (online status, device information, login timestamps) rather than credentials or message contents, so the real confidentiality impact is arguably Low - I independently assess C:L (see assessed vector). Net: a genuine privacy/IDOR issue worth patching on exposed Turms deployments, but the authentication requirement and metadata-only disclosure keep real-world risk moderate rather than urgent. |
| Exploit ScenarioDerived | An attacker who holds or registers any valid account on a Turms IM server sends a crafted user-online-status query for victim user IDs they are not authorized to see. Because handleQueryUserOnlineStatusesRequest() performs no authorization check, the server returns each target's online status, device information, and last login timestamps, enabling presence tracking and reconnaissance of arbitrary users. A public exploit/report is already available, lowering the effort to reproduce. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 05, 2026
Authenticated users on Turms IM Server v0.10.0-SNAPSHOT and earlier can exploit a broken access control flaw (CWE-284) in the handleQueryUserOnlineStatusesRequest() method to query arbitrary users' online status, device information, and login timestamps without proper authorization checks. The vulnerability requires a valid account (CVSS PR:L) and is remotely exploitable, with publicly available exploit code. The independent assessment rates it medium severity because it leaks presence metadata rather than message content or credentials.
RemediationAI
No vendor-released patch has been identified at time of analysis. Administrators should monitor the official Turms repository (https://github.com/turms-im/turms) for updates. As a compensating control, implement an authorization check in handleQueryUserOnlineStatusesRequest() to ensure the requesting user has permission to view the target user's status, or restrict the endpoint to administrative roles. If the online status feature is not essential, consider disabling it; however, this removes presence functionality. Additionally, limit account creation to trusted users to reduce the attack surface, as exploitation requires a valid account.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Turms is an open-source instant messaging server implemented in Java, using a Spring-based controller architecture. The vulnerability resides in UserServiceController.java (line 239) within the handleQueryUserOnlineStatusesRequest() method, which lacks an authorization check to verify that the requesting user is allowed to view the target users' status. This falls under CWE-284 (Improper Access Control). The affected component is identified by CPE cpe:2.3:a:turms-im:turms:0.10.0-snapshot, covering version 0.10.0-SNAPSHOT and earlier. Exploitation requires only a valid authenticated account on the server; no special configuration or feature toggle is needed.
Know when Turms 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:H/I:N/A:N
Network, low-complexity call needing any authenticated account (PR:L); impact is limited presence/device metadata disclosure, so C:L rather than C:H, with no integrity or availability effect.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
DescriptionCVE.org
Turms IM Server v0.10.0-SNAPSHOT and earlier contains a broken access control vulnerability in the user online status query functionality. The handleQueryUserOnlineStatusesRequest() method in UserServiceController.java allows any authenticated user to query the online status, device information, and login timestamps of arbitrary users without proper authorization checks.
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
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Affected Products (CPE)CVE.org
Memory exhaustion denial of service in Turms AI-Serving (v0.10.0-SNAPSHOT and earlier) allows remote attackers to crash
Cross-site request forgery in Turms Admin API through v0.10.0-SNAPSHOT allows remote attackers to cause an authenticated
Turms Server (turms-im:turms) v0.10.0-SNAPSHOT and earlier retains administrator passwords in cleartext in the rawPasswo
Improper file type validation in the Turms AI-Serving module (v0.10.0-SNAPSHOT and earlier) allows unauthenticated remot
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB