Update dependency System.IdentityModel.Tokens.Jwt to v8 [SECURITY]#331
Open
renovate[bot] wants to merge 1 commit into
Open
Update dependency System.IdentityModel.Tokens.Jwt to v8 [SECURITY]#331renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
7.0.0→8.0.1Microsoft ASP.NET Core project templates vulnerable to denial of service
CVE-2024-21319 / GHSA-59j7-ghrg-fj52
More information
Details
A Denial of Service vulnerability exists in ASP.NET Core project templates which utilize JWT-based authentication tokens. This vulnerability allows an unauthenticated client to consume arbitrarily large amounts of server memory, potentially triggering an out-of-memory condition on the server and making the server no longer able to respond to legitimate requests.
Announcement
Announcement for this issue can be found at https://github.com/dotnet/announcements/issues/290
Mitigation factors
This impacts only .NET Core-based projects that were created using any version of project templates listed in affected software.
Other project templates e.g., console applications, MAUI applications, Windows Forms or WPF applications, are not affected.
Affected software
This impacts only .NET Core-based projects that were created using any version of the below project templates.
Advisory FAQ
How do I know if I am affected?
If you are you using project templates listed in affected software, you may be exposed to the vulnerability.
How do I fix the issue?
For existing projects:
If you ever created any of these projects via the dotnet new command or via Visual Studio's File -> New Project gesture, and if you enabled federated authentication at project creation time, your project may be vulnerable. To remediate the vulnerability, use your package manager to update any references you may have to the Microsoft.AspNetCore.Authentication.JwtBearer, Microsoft.AspNetCore.Authentication.OpenIdConnect, and Microsoft.IdentityModel.JsonWebTokens packages to their respective latest versions.
If your project does not reference any of those three packages, you are not exposed to this vulnerability.
For new projects:
To remediate this issue please update to the latest SDK listed below. Simply installing the SDK update is not sufficient to remediate projects already-created / already-deployed projects which existed prior to this update being released.
dotnet --infocommand. You will see output like the following;.NET 6.0, .NET 7.0, .NET 8.0 updates are also available from Microsoft Update. To access this either type "Check for updates" in your Windows search, or open Settings, choose Update & Security and then click Check for Updates.
Once you have installed the updated runtime or SDK, restart your apps for the update to take effect.
Additionally, if you've deployed self-contained applications targeting any of the impacted versions, these applications are also vulnerable and must be recompiled and redeployed.
Other Information
Reporting Security Issues
If you have found a potential security issue in .NET 8.0 or .NET 7.0 or .NET 6.0, please email details to secure@microsoft.com. Reports may qualify for the Microsoft .NET Core & .NET 5 Bounty. Details of the Microsoft .NET Bounty Program including terms and conditions are at https://aka.ms/corebounty.
Support
You can ask questions about this issue on GitHub in the .NET GitHub organization. The main repos are located at https://github.com/dotnet/runtime and https://github.com/dotnet/aspnet/. The Announcements repo (https://github.com/dotnet/Announcements) will contain this bulletin as an issue and will include a link to a discussion issue. You can ask questions in the linked discussion issue.
Disclaimer
The information provided in this advisory is provided "as is" without warranty of any kind. Microsoft disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. In no event shall Microsoft Corporation or its suppliers be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if Microsoft Corporation or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply.
Acknowledgement
Morgan Brown, Microsoft Corp.
Severity
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet (System.IdentityModel.Tokens.Jwt)
v8.0.1Compare Source
=====
Bug fixes
SignatureProviderwas disposed but still able to leverage the cache andSignatureProvidernow disposes when compacting. See PR #2682 for details.JsonWebTokenHandler.ValidateJWEAsyncnow considers the decrypt keys in the configuration. See issue #2737 for details.Performance improvement
AppContext.TryGetSwitchstatically caches internally but takes out a lock..NET almost always caches these values. They're not expected to change while the process is running unlike normal config. IdentityModel now caches the value. See issue #2722 for details.
v8.0.0Compare Source
=====
CVE package updates
CVE-2024-30105
Breaking change:
Full list of breaking changes.
ClaimsIdentitywhere claim retrieval is case-sensitive. The currentClaimsIdentity, in .NET, retrieves claims in a case-insensitive manner which is different than querying the underlyingSecurityToken. The newCaseSensitiveClaimsIdentityclass provides consistent retrieval logic withSecurityToken. Fallback to previous behavior via an AppContext switch. See PR #2700 for details.CollectionUtilities.IsNullOrEmptyinternal. See issues #2651 and #1722 for details.Overall improvements to the validation in IdentityModel:
New Features:
StreamtoWriteinOIDCConfigurationSerializer. See PR #2698 for details.Bug fixes:
AadIssuerValidator.GetTenantIdFromTokeninValidateIssuerSigningKey, to only consider thetid. An AppContext switch enables fallbacking to the previous behavior, which should not be needed. See PR #2680 for details.authorization_details_types_supportedfrom RFC 9396 - OAuth 2.0 Rich Authorization Requests toOpenIdConnectConfiguration.OpenIdConnectPromptnow has thecreateprompt from Initiating User Registration via OpenID Connect 1.0OpenIdConnectGrantTypes:urn:ietf:params:oauth:grant-type:saml2-bearerfrom RFC 7522 - Security Assertion Markup Language (SAML) 2.0 Profile for OAuth 2.0 Client Authentication and Authorization Grants,urn:ietf:params:oauth:grant-type:jwt-bearerfrom RFC 7523 - JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants,urn:ietf:params:oauth:grant-type:device_codefrom RFC 8628 - OAuth 2.0 Device Authorization Grant,urn:ietf:params:oauth:grant-type:token-exchangefrom RFC 8693 - OAuth 2.0 Token Exchange,urn:openid:params:grant-type:cibafrom OpenID Connect Client-Initiated Backchannel Authentication Flow - Core 1.0NotImplementedException. Now a message is returned that the user can act on to fix the issue. See issue #1970.Fundamentals
ConfigurationManager.GetConfigurationAsynca virtual method. See PR #2661Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.