Skip to main content

Jasypt Spring Boot EUVDEUVD-2026-31584

| CVE-2026-9370 LOW
Use of a One-Way Hash with a Predictable Salt (CWE-760)
2026-05-24 VulDB GHSA-jgj7-c8vj-w563
2.9
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Obtain encrypted config file via repo/storage exposure
  2. Delivery
    Extract ENC() properties from application.properties
  3. Exploit
    Apply predictable salt pattern from SimpleGCMConfig
  4. Execution
    Conduct offline brute-force attack
  5. Persist
    Derive plaintext credentials
  6. Impact
    Access protected backend systems

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Unpredictable hash salts
Exploitation Conditions

Exploitation requires the attacker to first obtain encrypted configuration files (application.properties, application.yml, or equivalent) from the target Spring Boot application - this is the critical prerequisite, NOT the vulnerability itself. File access can occur through misconfigured container registries, exposed Git repositories, directory traversal vulnerabilities, backup system compromise, or insider access. The target application must be using jasypt-spring-boot versions ≤3.0.5 or ≤4.0.4 with the SimpleGCMConfig class for property encryption. The AC:H (high attack complexity) designation reflects that offline password cracking requires computational resources and time proportional to password strength, though the predictable salt significantly reduces computational cost compared to properly salted hashes. Exploitation is LIMITED by: (1) requirement for prior access to encrypted configuration artifacts, (2) need for sufficient computational resources to conduct offline attacks, (3) effectiveness depends on the entropy of the master password used to encrypt properties - strong passphrases remain resistant despite weak salt generation. The vulnerability does NOT enable direct remote code execution or authentication bypass; it only facilitates offline cryptanalysis of already-obtained encrypted data.

Impact

Real-world risk is MODERATE despite the low CVSS base score of 3.7. The CVSS vector (AV:N/AC:H/PR:N/UI:N) indicates network-accessible exploitation with high complexity but no authentication required. The AC:H (high attack complexity) reflects that attackers need prior access to encrypted configuration files and sufficient computational resources for offline cracking. However, this prerequisite is increasingly common: configuration files are often exposed through misconfigured Git repositories, container registries, CI/CD artifacts, or insider access. The E:P (Proof-of-concept Exploit) confirms public exploit code exists, lowering the barrier for opportunistic attackers. The impact scope (C:L/I:N/A:N) limits damage to confidentiality only, but exposed credentials could enable lateral movement or privilege escalation in multi-tier applications. The RL:X (remediation level not defined) indicates vendor non-responsiveness, forcing organizations to implement compensating controls or migrate to alternative encryption libraries. SSVC assessment: Exploitation is PROOF-OF-CONCEPT available, technical impact is PARTIAL (credential exposure), and automatable potential is LOW due to requiring context-specific configuration file access. Priority depends heavily on deployment context - high for applications storing database credentials or API keys in encrypted properties, lower for applications using external secret management (Vault, AWS Secrets Manager). Key uncertainty: The description states AC:H but does not specify whether default configurations are vulnerable or only non-standard implementations, requiring code review to confirm exploitability in specific deployments.

Exploit ScenarioDerived

An attacker identifies a target Spring Boot application using jasypt-spring-boot through dependency scanning of exposed container images or Maven/Gradle build files. The attacker gains access to the application's encrypted configuration file (application.properties or YAML) via a separate vulnerability such as directory traversal, misconfigured cloud storage bucket, exposed Git repository, or insider access. Using the publicly available exploit code from https://github.com/dntyfate/cve/issues/3, the attacker leverages knowledge of the predictable salt generation pattern in SimpleGCMConfig to significantly reduce the keyspace for offline brute-force attacks against encrypted properties like ENC(encrypted_database_password). Once plaintext credentials are recovered, the attacker uses them to access backend databases, third-party APIs, or other protected resources, enabling data exfiltration or lateral movement within the infrastructure.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – May 24, 2026

Cryptographic salt generation in Jasypt Spring Boot library (versions ≤3.0.5 and ≤4.0.4) uses predictable values, enabling offline password cracking attacks against encrypted configuration properties. The SimpleGCMConfig class's getSecretKeySaltGenerator function generates salts without sufficient entropy, reducing the computational cost for attackers who obtain encrypted passwords to derive plaintext through dictionary or brute-force attacks. Public exploit code exists (POC available) with EPSS indicating low probability of widespread exploitation (3.7 CVSS, AC:H). Vendor has not responded to responsible disclosure as of analysis date.

RemediationAI

No vendor-released patch is available as the project maintainer has not responded to vulnerability disclosure (GitHub issue #431). Organizations using jasypt-spring-boot ≤3.0.5 or ≤4.0.4 should implement one of these mitigations: (1) Migrate to external secret management solutions like HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, or Spring Cloud Config Server with encryption backends, which provide cryptographically secure key derivation and rotation capabilities (trade-off: infrastructure complexity and operational overhead increase). (2) Fork the jasypt-spring-boot repository, apply custom fixes to SimpleGCMConfig.getSecretKeySaltGenerator() to use cryptographically secure random salt generation (SecureRandom with sufficient entropy), and maintain the fork internally (trade-off: ongoing maintenance burden and lack of upstream security updates). (3) If immediate migration is infeasible, implement compensating controls: enforce strict filesystem permissions on configuration files (readable only by application service accounts), use encrypted filesystems or volumes for property files, implement configuration file integrity monitoring, and rotate all encrypted credentials while re-encrypting with stronger external tools (trade-off: does not eliminate vulnerability, only reduces exposure surface). Monitor the vendor repository at https://github.com/ulisesbocchio/jasypt-spring-boot/ for future security releases. For technical implementation details of the exploit, security teams can reference https://github.com/dntyfate/cve/issues/3.

Affected VersionsENISA

jasypt-spring-boot 3.0.2
jasypt-spring-boot 3.0.5
jasypt-spring-boot 3.0.3
jasypt-spring-boot 4.0.2
jasypt-spring-boot 3.0.0
jasypt-spring-boot 4.0.1
jasypt-spring-boot 3.0.4
jasypt-spring-boot 3.0.1
jasypt-spring-boot 4.0.3
jasypt-spring-boot 4.0.0
jasypt-spring-boot 4.0.4

Affected Packages

maven com.github.ulisesbocchio:jasypt-spring-boot no fix
maven com.github.ulisesbocchio:jasypt-spring-boot-starter no fix
euvd jasypt_spring_boot no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in maven, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Jasypt Spring Boot is a Java library that provides integration between the Java Simplified Encryption (Jasypt) library and Spring Boot applications, commonly used to encrypt sensitive configuration properties like database passwords, API keys, and credentials in application.properties or YAML files. The vulnerability (CWE-760: Use of a One-Way Hash with a Predictable Salt) exists in the SimpleGCMConfig class's salt generation mechanism for GCM (Galois/Counter Mode) encryption. When salts are predictable or reused, attackers who gain access to encrypted configuration files can conduct offline attacks using precomputed rainbow tables or optimized brute-force techniques. The CPE cpe:2.3:a:ulisesbocchio:jasypt-spring-boot:*:*:*:*:*:*:*:* indicates the library itself is vulnerable, affecting any Spring Boot application that depends on these versions for property encryption. This is particularly concerning in containerized environments where configuration files may be exposed through image layers, CI/CD logs, or backup systems.

Know when Java 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 (VulDB) PRIMARY 2.9 LOW
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P

Primary rating from Vendor (VulDB) · only source for this CVE.

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
High
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
CVSS changed
May 26, 2026 - 20:07 NVD
3.7 (LOW) 2.9 (LOW)

DescriptionCVE.org

A weakness has been identified in ulisesbocchio jasypt-spring-boot up to 3.0.5/4.0.4. Affected by this vulnerability is the function getSecretKeySaltGenerator of the file jasypt-spring-boot/src/main/java/com/ulisesbocchio/jasyptspringboot/encryptor/SimpleGCMConfig.java of the component Password Hash Handler. Executing a manipulation can lead to use of a one-way hash with a predictable salt. The attack can be launched remotely. The attack requires a high level of complexity. The exploitation appears to be difficult. The exploit has been made available to the public and could be used for attacks. The project was informed of the problem early through an issue report but has not responded yet.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 6 maven packages depend on com.github.ulisesbocchio:jasypt-spring-boot (1 direct, 5 indirect)
  • 5 maven packages depend on com.github.ulisesbocchio:jasypt-spring-boot-starter (3 direct, 2 indirect)

Ecosystem-wide dependent count for version 3.0.0 and other introduced versions.

Threat Intelligence Overview

EPSS Score
0.0%
Top 93% exploitable
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High

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 LOW
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

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