Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker gains high-privilege local or config-server access
-
DeliveryExfiltrates PKCS#1 v1.5 ciphertext (mislabeled as OAEP)
-
ExploitLocates or constructs decryption oracle
-
ExecutionSubmits adaptive chosen-ciphertext queries
-
ImpactRecovers plaintext configuration secret
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V6 - Authentication Credential storage protection
|
| Exploitation Conditions | Exploitation requires all of the following: (1) the application must be running Steeltoe.Configuration.Encryption 4.0.0 or 4.1.0 with |
| Impact | The CVSS 3.1 base score of 1.9 (AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:N/A:N) accurately reflects the narrow exploitation path: an attacker must already have high-privilege local access to the system and face high attack complexity to extract any benefit from the weaker padding scheme. No EPSS data was provided, no CISA KEV listing exists, and no public exploit code has been identified. The real-world risk is principally a cryptographic guarantee failure rather than an immediately weaponizable flaw: operators who deliberately chose OAEP over PKCS#1 v1.5 - likely because they were aware of padding oracle risks in their threat model - received no such protection. If an adversary has obtained encrypted ciphertext (e.g., from a leaked config server backup) and has a decryption oracle, the PKCS#1 v1.5 ciphertext is more tractable to attack than OAEP would have been. For most deployments the practical risk increment is low, but for environments with elevated sensitivity around configuration secrets (database credentials, API keys, certificates), the failure to apply the stronger algorithm as configured is a meaningful gap. No conflicting signals exist between data sources - CVSS, description, and commit diff are internally consistent. |
| Exploit ScenarioDerived | An attacker who has exfiltrated RSA-encrypted configuration blobs from a Spring Cloud Config Server (e.g., via a separate path-traversal or backup leak) and who can submit adaptive chosen-ciphertext queries to a decryption oracle (such as a misconfigured or compromised service endpoint that reveals padding errors) could execute a Bleichenbacher-style attack against ciphertexts that were supposed to be OAEP-protected but were actually encrypted under PKCS#1 v1.5. No public exploit or proof-of-concept targeting this specific vulnerability has been identified; successful exploitation requires substantial cryptographic capability and oracle access. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 17, 2026
Steeltoe.Configuration.Encryption 4.0.0 through 4.1.0 silently downgrades RSA encryption from OAEP to PKCS#1 v1.5 when operators explicitly configure encrypt:rsa:algorithm=OAEP. The root cause is an incorrect BouncyCastle transformation string in RsaKeyStoreDecryptor.cs - the OAEP branch passed "RSA/ECB/PKCS1" to CipherUtilities.GetCipher() instead of the correct "RSA/NONE/OAEPWithSHA1AndMGF1Padding", meaning both the OAEP and DEFAULT settings silently selected the same weaker algorithm. No public exploit is identified at time of analysis, and CVSS scores this at 1.9 (Low) given the high-privilege local attack vector; however, the security consequence is a cryptographic guarantee failure that exposes encrypted configuration secrets to Bleichenbacher-class padding oracle attacks that OAEP was chosen to prevent.
RemediationAI
Upgrade to Steeltoe.Configuration.Encryption version 4.2.0, which corrects the BouncyCastle transformation string from "RSA/ECB/PKCS1" to "RSA/NONE/OAEPWithSHA1AndMGF1Padding" for the OAEP algorithm path, as confirmed in commit 6cfee5cccddf8f9a31de69b0ca5ccdd771b73e5b (https://github.com/SteeltoeOSS/Steeltoe/commit/6cfee5cccddf8f9a31de69b0ca5ccdd771b73e5b). After upgrading, any configuration values that were encrypted using the OAEP setting on the affected versions were actually encrypted with PKCS#1 v1.5; those ciphertexts will remain decryptable by the patched library since it still supports PKCS#1 v1.5 for the DEFAULT algorithm, but operators who care about OAEP guarantees should re-encrypt their secrets using a correctly functioning OAEP-capable Config Server after upgrading. There is no meaningful workaround short of upgrading: removing the encrypt:rsa:algorithm=OAEP setting does not change behavior (both paths were identical), and disabling config-server encryption entirely would expose secrets in plaintext. See the GitHub advisory at https://github.com/SteeltoeOSS/security-advisories/security/advisories/GHSA-4j9m-h44m-2hv8 for further detail.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in nuget
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Steeltoe is a .NET open-source library suite for building cloud-native applications, and its Steeltoe.Configuration.Encryption component integrates with Spring Cloud Config Server to decrypt RSA-encrypted configuration values at runtime using BouncyCastle (via CipherUtilities.GetCipher()). The affected code path is RsaKeyStoreDecryptor.cs, specifically the CreateCipher() switch that maps algorithm names to BouncyCastle transformation strings. The incorrect mapping "OAEP" => CipherUtilities.GetCipher("RSA/ECB/PKCS1") caused the library to use PKCS#1 v1.5 padding regardless of operator intent. PKCS#1 v1.5 RSA encryption is known to be vulnerable to Bleichenbacher adaptive chosen-ciphertext attacks (padding oracle attacks), while OAEP (Optimal Asymmetric Encryption Padding) was designed specifically to resist them. CWE-256 is assigned, though CWE-327 (Use of a Broken or Risky Cryptographic Algorithm) more precisely characterizes the defect - the issue is not password storage in plaintext, but an unintended algorithm substitution. The CPE string cpe:2.3:a:steeltoeoss:steeltoe.configuration.encryption:*:*:*:*:*:*:*:* covers the affected library.
Know when Steeltoe Configuration Encryption 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:L/AC:H/PR:H/UI:N/S:U/C:L/I:N/A:N
Local attack vector and high privileges required because the flaw is triggered by operator-level configuration; high complexity because exploiting the weaker padding requires oracle access and cryptographic sophistication; low confidentiality only, as only encrypted config secrets are at risk.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Steeltoe is an open source project that provides a collection of libraries that helps users build cloud-native applications. In Steeltoe.Configuration.Encryption 4.0.0 through 4.1.0, configuring encrypt:rsa:algorithm=OAEP does not enable OAEP encryption. Due to an incorrect BouncyCastle transformation string, the OAEP setting selects PKCS#1 v1.5, which is the same algorithm as the DEFAULT setting. Steeltoe.Configuration.Encryption version 4.2.0 patches the issue.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-37821
GHSA-4j9m-h44m-2hv8
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB