VDB
KO
LOW 1.9

GHSA-4j9m-h44m-2hv8

Steeltoe: OAEP setting silently selects PKCS#1 v1.5 padding

Details

### Summary

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.

### Impact

Operators who configure `encrypt:rsa:algorithm=OAEP` to obtain CCA2-secure padding receive PKCS#1 v1.5 instead. Currently, `Decrypt()` is called only against operator-controlled configuration data, so no exploitable path exists, but any future code path that exposes a decryption oracle would be Bleichenbacher-vulnerable despite the `OAEP` setting.

### Migration note

Existing `{cipher}` values produced under the broken `OAEP` setting were encrypted with PKCS#1 v1.5. The fix makes `OAEP` use actual OAEP padding, so those values will fail to decrypt after upgrading. Re-encrypt all affected `{cipher}` values after upgrading.

Are you affected?

Enter the version of the package you're using.

Affected packages

NuGet / Steeltoe.Configuration.Encryption
Introduced in: 4.0.0 Fixed in: 4.2.0
Fix dotnet add package Steeltoe.Configuration.Encryption --version 4.2.0

References