DEV Community

CVE Reports
CVE Reports

Posted on Originally published at cvereports.com

CVE-2025-21587: CVE-2025-21587: Timing Side-Channel Vulnerability in JSSE RSA Decryption

CVE-2025-21587: Timing Side-Channel Vulnerability in JSSE RSA Decryption

Vulnerability ID: CVE-2025-21587
CVSS Score: 7.4
Published: 2025-04-15

CVE-2025-21587 is a high-severity timing side-channel vulnerability in the Java Secure Socket Extension (JSSE) component of Oracle Java SE and GraalVM. The flaw allows unauthenticated network attackers to perform Bleichenbacher-style (Marvin) decryption oracle attacks, potentially compromising TLS session confidentiality.

TL;DR

A timing side-channel in JSSE allows remote attackers to decrypt TLS traffic or forge signatures by exploiting non-constant-time RSA unpadding operations.


⚠️ Exploit Status: POC

Technical Details

  • CWE ID: CWE-385
  • Attack Vector: Network (High Complexity)
  • CVSS Score: 7.4 (High)
  • EPSS Score: 0.00784 (53.94%)
  • Impact: Confidentiality and Integrity Compromise
  • Exploit Status: Proof of Concept (Theoretical)
  • KEV Status: Not Listed

Affected Systems

  • Oracle Java SE
  • Oracle GraalVM for JDK
  • Oracle GraalVM Enterprise Edition
  • Debian OpenJDK
  • Ubuntu OpenJDK
  • Oracle Java SE: 8u441, 11.0.26, 17.0.14, 21.0.6, 24 (Fixed in: 8u451, 11.0.27, 17.0.15, 21.0.7, 24.0.1)
  • Oracle GraalVM for JDK: 17.0.14, 21.0.6, 24 (Fixed in: 17.0.15, 21.0.7, 24.0.1)
  • Oracle GraalVM Enterprise Edition: 20.3.17, 21.3.13 (Fixed in: CPU April 2025 Patches)

Code Analysis

Commit: 73aa304

Upstream fix in OpenJDK 17u implementing unpadForTls helper to establish constant-time processing

Commit: d5c94ad

Upstream constant-time fix in OpenJDK 21u

Commit: 2adb01e

Upstream constant-time fix in OpenJDK 11u

Commit: 3cdd308

Upstream constant-time fix in OpenJDK 8u

Mitigation Strategies

  • Disable static RSA key exchange suites (TLS_RSA_*) and enforce Forward Secrecy (ECDHE/DHE).
  • Deploy Java security updates containing the April 2025 Critical Patch Update.
  • Enforce TLS 1.3 across exposed network interfaces to naturally eliminate RSA key exchange vectors.

Remediation Steps:

  1. Identify all active JRE and JDK installations hosting TLS services.
  2. Apply the corresponding patched version (e.g., 8u451, 11.0.27, 17.0.15, 21.0.7, 24.0.1 or higher).
  3. Modify local server configuration files (such as Tomcat server.xml or Spring Boot properties) to remove cipher suites starting with TLS_RSA.
  4. Monitor network traffic for an anomalous spike in TLS alerts (specifically Alert 20 or 51).

References


Read the full report for CVE-2025-21587 on our website for more details including interactive diagrams and full exploit analysis.

Top comments (0)