-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Digest challenge - realm fails with empty string #56369
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
Tagging subscribers to this area: @dotnet/ncl Issue DetailsThe issue is similar to #50283 but this time about realm key. For example:
will fail with error Nonce missing RFC7616 says realm SHOULD contain al least the name of the server, but not MUST contain, so it doesn't exclude an empty realm
This lines of method Parse in class System.Net.Http.AuthenticationHelper.DigestResponse
should be modified to allow empty Realm value
|
Triage: Seems legit. Are you interested in submitting PR for it? |
# By Camillo Toselli (1) and others # Via GitHub * origin/main: add RID for Debian 11 (dotnet#56789) [wasm] [debugger] Skip thread static field (dotnet#56749) Fix timeouts in coreroot_determinism test in GC stress mode (dotnet#56770) Use File.OpenHandle in Socket.SendFile directly (dotnet#56777) accept empty realm for digest auth (dotnet#56369) (dotnet#56455) # Conflicts: # src/mono/wasm/debugger/DebuggerTestSuite/BreakpointTests.cs # src/mono/wasm/debugger/DebuggerTestSuite/GetPropertiesTests.cs
…ger_proxy_attribute * origin/main: (340 commits) add RID for Debian 11 (dotnet#56789) [wasm] [debugger] Skip thread static field (dotnet#56749) Fix timeouts in coreroot_determinism test in GC stress mode (dotnet#56770) Use File.OpenHandle in Socket.SendFile directly (dotnet#56777) accept empty realm for digest auth (dotnet#56369) (dotnet#56455) [wasm][debugger] Create test Inherited Properties (dotnet#56754) Mark new test as incompatible with GC Mark4781_1GcStressIncompatible (dotnet#56739) Ensure MetadataEnumResult is sufficiently updated by MetaDataImport::Enum (dotnet#56756) [mono] Remove gdb xdebug and binary writer support, it hasn't worked in a while. (dotnet#56759) Update windows-requirements.md (dotnet#56476) Update doc and generic parameter name for JsonValue.GetValue (dotnet#56639) [wasm][debugger] Inspect static class (dotnet#56740) Fix stack overflow handling issue in GC stress (dotnet#56733) Use ReflectionOnly as serialization mode in case dynamic code runtime feature is not supported (dotnet#56604) Move Windows Compat pack to NuGet pack task (dotnet#56686) Fix build error when building some packages (dotnet#56767) Simplify JIT shutdown logic in crossgen2 (dotnet#56687) Fix race in crossdac publishing with PGO (dotnet#56762) Add DictionaryKeyPolicy support for EnumConverter [dotnet#47765] (dotnet#54429) Use ComWrappers in some Marshal unit-tests and update platform metadata (dotnet#56595) ...
* accept empty realm for digest auth (dotnet#56369) * accept empty realm for digest auth (dotnet#56369) * accept empty realm for digest auth (dotnet#56369) * accept empty realm for digest auth (dotnet#56369) Co-authored-by: Luca Bompani <[email protected]> (cherry picked from commit b0cea40)
Is it possible to backport this fix to release/5.0 branch too? |
@bompani we could if there is enough demand. What is impact on you / your customers? How many are affected? How much? Why is it critical for your app? |
Our app is a wab service that manages the telephony system of the University of Bologna. It's one of the biggest private telephony network based on asterisk, with about 10000 phone lines. |
@bompani so, you are making new deployment to new customer(s) where you found out in production that it does not work? Is that correct? |
We upgraded our ws from dotnet core 3.1 to .net 5.0 but we will not be able to deploy the new ws in production until this issue will be resolved. This issue was not present in dotnet core 3.1. |
Did you use have |
I apologize because I reported a wrong information: the production version of out ws is developed with .NET Framework 4.5 not .Net core 3.1. Before the porting of our ws to .NET 5.0 we developed an intermediate version with .NET core 3.1 but I don't kwow if the digest authentication was working in that version. |
* accept empty realm for digest auth (dotnet#56369) * accept empty realm for digest auth (dotnet#56369) * accept empty realm for digest auth (dotnet#56369) * accept empty realm for digest auth (dotnet#56369) Co-authored-by: Luca Bompani <[email protected]> (cherry picked from commit b0cea40)
* accept empty realm for digest auth (dotnet#56369) * accept empty realm for digest auth (dotnet#56369) * accept empty realm for digest auth (dotnet#56369) * accept empty realm for digest auth (dotnet#56369) Co-authored-by: Luca Bompani <[email protected]> (cherry picked from commit b0cea40)
Are there any chances that this fix will be merged into the 5.0 branch? Thanks |
@bompani will you be able to validate on private (unsigned) binaries that the fix addresses your problem? |
Yes I'm able to validate on private binaries. Can I download the PR buld or have I to build it myself? |
Great! The PR has build artifacts - libraries_bin_* e.g.: Grab |
I can confirm that the PR build resolves our problem. |
Thanks for validation @bompani! |
I validated my local build of branch backport/pr-56455-to-release/5.0 on Windows10/x64 |
Thanks for confirmation @bompani! |
* accept empty realm for digest auth (#56369) * accept empty realm for digest auth (#56369) * accept empty realm for digest auth (#56369) * accept empty realm for digest auth (#56369) Co-authored-by: Luca Bompani <[email protected]>
The bug is fixed:
|
* accept empty realm for digest auth (dotnet#56369) * accept empty realm for digest auth (dotnet#56369) * accept empty realm for digest auth (dotnet#56369) * accept empty realm for digest auth (dotnet#56369) Co-authored-by: Luca Bompani <[email protected]> (cherry picked from commit b0cea40)
The issue is similar to #50283 but this time about realm key. For example:
will fail with error Nonce missing
RFC7616 says realm SHOULD contain al least the name of the server, but not MUST contain, so it doesn't exclude an empty realm
This lines of method Parse in class System.Net.Http.AuthenticationHelper.DigestResponse
should be modified to allow empty Realm value
The text was updated successfully, but these errors were encountered: