Skip to main content

Steeltoe Configuration Encryption CVE-2026-50268

| EUVDEUVD-2026-37821 LOW
Plaintext Storage of a Password (CWE-256)
2026-06-17 GitHub_M GHSA-4j9m-h44m-2hv8
1.9
CVSS 3.1 · Vendor: GitHub_M

Severity by source

Vendor (GitHub_M) PRIMARY
1.9 LOW
AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:N/A:N
vuln.today AI
1.9 LOW

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.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

3
Patch available
Jul 02, 2026 - 22:02 EUVD
Source Code Evidence Fetched
Jun 17, 2026 - 23:06 vuln.today
Analysis Generated
Jun 17, 2026 - 23:06 vuln.today

DescriptionCVE.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.

AnalysisAI

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.

Technical ContextAI

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.

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.

Share

CVE-2026-50268 vulnerability details – vuln.today

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