-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Disable implicit rejection for RSA PKCS#1 v1.5 #95157
Conversation
Tagging subscribers to this area: @dotnet/area-system-security, @bartonjs, @vcsjones Issue DetailsStarting in OpenSSL 3.2, RSA PKCS#1 v1.5 decryption no longer fails for invalid RSA padding. Instead, it produces random output data. This was introduced in openssl/openssl#13817. Some Linux distributions back ported this to OpenSSL 3.1.x which resulted in failures seen in #95115. This disables the "implicit rejection" of PKCS#1 v1.5 RSA decryption so that Fixes #95115.
|
/azp list |
This comment was marked as outdated.
This comment was marked as outdated.
/azp run runtime-libraries-coreclr outerloop-linux |
Azure Pipelines successfully started running 1 pipeline(s). |
|
The outerloop tests that failed look to be unrelated; and, notably, the one we're fixing didn't fail. |
/backport to release/8.0-staging |
/backport to release/7.0-staging |
Started backporting to release/8.0-staging: https://github.com/dotnet/runtime/actions/runs/6984746124 |
Started backporting to release/7.0-staging: https://github.com/dotnet/runtime/actions/runs/6984747052 |
/backport to release/6.0-staging |
Started backporting to release/6.0-staging: https://github.com/dotnet/runtime/actions/runs/6984748090 |
This will make all users of the RSA PKCS#1v1.5 decryption API vulnerable! The change in OpenSSL was introduced to protect users of OpenSSL against https://people.redhat.com/~hkario/marvin/ |
The above feedback was addressed in detail by @GrabYourPitchforks here. All backports have been merged. |
Starting in OpenSSL 3.2, RSA PKCS#1 v1.5 decryption no longer fails for invalid RSA padding. Instead, it produces random output data. This was introduced in openssl/openssl#13817.
Some Linux distributions back ported this to OpenSSL 3.1.x which resulted in failures seen in #95115.
This disables the "implicit rejection" of PKCS#1 v1.5 RSA decryption so that
RSA.Encrypt
andRSA.Decrypt
continue to follow their documented behavior and cross-platform behavior.Fixes #95115.