
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2025-68703 is a weak salt derivation vulnerability in Jervis, a Groovy library for Jenkins Job DSL plugin scripts and shared pipeline libraries. Prior to version 2.2, the PBKDF2 salt was derived deterministically from sha256Sum(passphrase), meaning two encryption operations using the same password would always produce the same derived key — completely undermining the security of the encryption scheme (CWE-326: Inadequate Encryption Strength). The vulnerability affects all Jervis versions before 2.2 (Maven package net.gleske:jervis). It was disclosed on January 13, 2026, via a GitHub Security Advisory. The CVSS v3.1 base score is 7.5 (High), and the CVSS v4.0 base score is 8.7 (High) (GitHub Advisory).
The root cause is in SecurityIO.groovy (lines 869–870 and 894–895 of the pre-patch codebase), where the salt for PBKDF2 key derivation is computed as sha256Sum(passphrase).toLowerCase() — a deterministic function of the password itself rather than a cryptographically random value (GitHub Advisory). Because the salt is fixed for any given password, an attacker who obtains ciphertext can pre-compute derived keys for commonly used passwords (rainbow table or pre-computation attack, per CAPEC-20 and CAPEC-112) without needing to brute-force each ciphertext independently. The vulnerability is classified as CWE-326 (Inadequate Encryption Strength). No authentication or user interaction is required to exploit the weakness, as the attacker only needs access to the encrypted ciphertext stored at rest. The fix in version 2.2 generates a cryptographically random salt for each encryption operation and stores it alongside the ciphertext, and also migrates from AES-256-CBC to AES-256-GCM authenticated encryption (Patch Commit).
Successful exploitation allows an attacker to decrypt sensitive data encrypted by Jervis, including credentials, API keys, and other secrets stored in Jenkins Job DSL plugin scripts and shared pipeline libraries. Because the derived encryption key is identical for any two uses of the same password, pre-computed key tables can be used to efficiently break encryption at rest without brute-forcing each ciphertext individually. The impact is limited to confidentiality (no integrity or availability impact), but the exposure of CI/CD pipeline secrets could enable lateral movement into connected systems, source code repositories, or cloud infrastructure. The advisory notes severity is considered low for internal library uses but high for consumers of the library who store sensitive secrets (GitHub Advisory).
CipherMap output stored in a repository or artifact store).sha256Sum(passphrase)), the key space is reduced to the passphrase space.sha256Sum(passphrase) as the salt and run PBKDF2 with that salt to derive the AES-256 key — replicating the exact key derivation used by the vulnerable SecurityIO.groovy code.Upgrade Jervis to version 2.2 or later, which generates a cryptographically random salt for each encryption operation and stores it alongside the ciphertext. No workarounds are available for the vulnerable versions. After upgrading, organizations should rotate all credentials, API keys, and secrets that were encrypted using Jervis prior to version 2.2, as those values may have been encrypted with deterministic keys. Note that CipherMap encrypted data will be discarded upon upgrading to 2.2 (a documented breaking change), and new tokens will be issued automatically for GitHub App authentication (GitHub Advisory, Patch Commit).
The vulnerability was published by the project maintainer (samrocketman) via GitHub Security Advisory on January 13, 2026, with a self-assessed severity of High. The advisory explicitly references NIST SP 800-132 as the standard for proper password-based key derivation. Community discussion appears limited, with the vulnerability noted in automated security feeds and vulnerability aggregators shortly after disclosure (GitHub Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."