Skip to main content

Turms Server CVE-2025-66910

MEDIUM
Plaintext Storage of a Password (CWE-256)
2025-12-19 cve@mitre.org
6.0
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

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

  1. Access
    Obtain privileged local host access
  2. Exploit
    Dump or debug the Turms JVM process memory
  3. Execution
    Read cached rawPassword in AdminInfo
  4. Impact
    Recover plaintext admin credentials

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V6 - Authentication Credential storage protection
Exploitation Conditions

Requires local access to the host running Turms Server v0.10.0-SNAPSHOT or earlier with privileges sufficient to read the JVM process memory (via memory dump, heap analysis, or debugger attachment). The specific condition that creates exposure is that BaseAdminService caches a successfully authenticated administrator's raw password in the rawPassword field of AdminInfo in memory as a performance optimization - so at least one administrator must have logged in during the process lifetime for a credential to be present. Limiting factors that reduce realistic risk: no remote attack vector, a required pre-existing high-privilege local foothold, no user interaction of the victim, and exposure limited to the credentials of admins who have authenticated since the server started.

Impact

This is a genuine but constrained, lower-priority issue - not a drop-everything flaw despite the Confidentiality/Integrity 'High' ratings. The CVSS vector (AV:L/AC:L/PR:H/UI:N, base 6.0) is internally consistent with the description: exploitation requires local access to the host and high privileges, since reading another process's memory via a dump, heap analysis, or debugger attachment presupposes an attacker who already has substantial control of the system. EPSS and SSVC data were not provided in the input, so exploitation-probability and automatability signals are unavailable. The vulnerability is NOT in CISA KEV, so there is no evidence of active exploitation; however a public exploit/report does exist (Xzzz111 report on GitHub), so publicly available exploit code exists. The key tension is that an attacker who meets the PR:H/AV:L prerequisite (root or equivalent on the host) can usually already read arbitrary secrets anyway - this flaw mainly adds value by exposing plaintext admin passwords that would otherwise be protected by bcrypt and could be reused on other systems. Net: legitimate defense-in-depth defect, but real-world urgency is low absent remote exploitability.

Exploit ScenarioDerived

An attacker who has already obtained high-privilege local access to a host running Turms Server attaches a debugger or captures a heap/process memory dump of the running JVM, then reads the rawPassword field in cached AdminInfo objects to recover administrator credentials in cleartext, defeating the bcrypt-at-rest protection. A public report demonstrating the issue exists. The recovered plaintext passwords are most dangerous when reused across other administrative interfaces or systems.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 05, 2026

Turms Server (turms-im:turms) v0.10.0-SNAPSHOT and earlier retains administrator passwords in cleartext in the rawPassword field of AdminInfo objects cached by BaseAdminService, so a locally positioned attacker who can read the JVM process memory - via memory dump, heap analysis, or debugger attachment - can recover admin credentials and completely bypass the intended bcrypt protection. Per our independent assessment the vector is CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N, meaning exploitation requires an existing high-privilege local foothold on the host, victims need not interact, and only the credentials of administrators who have authenticated since the server process started are exposed. Publicly available exploit code exists, but no CISA KEV listing or other confirmation of active exploitation was identified at time of analysis.

RemediationAI

No vendor-released patch identified at time of analysis; the durable fix is an upstream code change that removes the rawPassword caching entirely and re-validates credentials against the bcrypt hash on each authentication (or caches only a non-reversible token/verifier instead of the plaintext), so affected operators should track the Turms repository at https://github.com/turms-im/turms for a corrected release and the PoC at https://github.com/Xzzz111/public_cve_report/blob/main/CVE-2025-66910_report.md for technical detail. Until a fix lands, apply compensating controls that target the local memory-read prerequisite: run the Turms JVM as a dedicated unprivileged service account so that reading its heap requires an additional privilege escalation, and virtualize or tightly restrict host access so that only trusted, audited operators have shell access (trade-off: this does not stop a privileged or root-level attacker, and it constrains legitimate troubleshooting). Reduce the chance of memory artifacts leaking off-host by disabling JVM core dumps for the service (ulimit -c 0 and a restrictive /proc/sys/kernel/core_pattern) and restrict heap-dump tooling - for example by starting the JVM with -XX:+DisableAttachMechanism and limiting sudo rights to jcmd/jmap (trade-off: this breaks legitimate profiling, APM agents, and journalctl-style post-incident memory forensics). Because the cached credential is only useful to an attacker while it is valid, rotate all administrator passwords and restart the service after any suspected memory disclosure, and ensure the JVM process does not run with world-readable heap dumps or verbose logging that could serialize AdminInfo objects. If a full fix cannot be deployed, consider fronting administrative access with an external identity provider or reverse proxy that enforces strong authentication, accepting the added operational complexity and the dependency on that additional component.

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 a Java-based instant-messaging server, and the flaw is a CWE-256 (Plaintext Storage of a Password) design issue in its administrator authentication path rather than a memory-safety or injection bug. BaseAdminService (see turms-server-common/src/main/java/im/turms/server/common/domain/admin/service/BaseAdminService.java, around line 237) caches a successfully authenticated administrator's raw password inside the AdminInfo business object (the rawPassword field is defined at AdminInfo.java line 34) as an optimization to avoid repeated bcrypt verification. bcrypt remains in place for stored hashes, but because the plaintext is deliberately copied into the heap for the lifetime of the JVM process, the strong hashing is effectively neutralized for any actor able to inspect that process memory - for example with jmap/jcmd heap dumps, a JVM core dump, or a debugger attached to the process. The CPE cpe:2.3:a:turms-im:turms:0.10.0-snapshot:*:*:*:*:*:*:* pins the affected build, and the vulnerability class also raises secondary exposure concerns wherever these AdminInfo objects are serialized, logged, or persisted, although the confirmed impact boundary in the assessment is local memory disclosure.

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

Vendor (mitre) PRIMARY 6.0 MEDIUM
AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 4.4 MEDIUM

Reading another process's memory requires local, high-privilege access (AV:L/PR:H); impact is cleartext credential disclosure, so C:H with no direct integrity or availability effect.

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

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

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

DescriptionCVE.org

Turms Server v0.10.0-SNAPSHOT and earlier contains a plaintext password storage vulnerability in the administrator authentication system. The BaseAdminService class caches administrator passwords in plaintext within AdminInfo objects to optimize authentication performance. Upon successful login, raw passwords are stored unencrypted in memory in the rawPassword field. Attackers with local system access can extract these passwords through memory dumps, heap analysis, or debugger attachment, bypassing bcrypt protection.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Low
niche open-source instant-messaging engine, limited production deployment
Exploit
POC
Public exploit code exists
Data Quality
5 sources
Confidence: Medium

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 Yes
EPSS 0.2%
Patch available No
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· derived
Poc
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

Affected Products (CPE)CVE.org

cpe:2.3:a:turms-im:turms:0.10.0-snapshot:*:*:*:*:*:*:*

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