🇰🇷 한글 설명
Duende.AccessTokenManagement.OpenIdConnect 라이브러리에서 토큰 갱신 시 발생한 보안 취약점입니다. AddUserAccessTokenHttpClient로 생성된 HttpClient가 토큰 갱신 후 다른 사용자의 액세스 토큰을 풀링된 인스턴스에 저장하여 다른 사용자에게 노출할 수 있습니다.
💡 쉬운 설명
로그인 정보가 업데이트되는 과정에서 시스템이 실수로 A 사용자의 열쇠를 B 사용자에게 전달할 수 있는 문제입니다. 이로 인해 다른 사람의 계정 권한을 잘못 사용할 위험이 있습니다.
🇺🇸 원문 (English)
Duende.AccessTokenManagement.OpenIdConnect is a set of .NET libraries that manage OAuth and OpenId Connect access tokens. HTTP Clients created by `AddUserAccessTokenHttpClient` may use a different user's access token after a token refresh occurs. This occurs because a refreshed token will be captured in pooled `HttpClient` instances, which may be used by a different user. Instead of using `AddUserAccessTokenHttpClient` to create an `HttpClient` that automatically adds a managed token to outgoing requests, you can use the `HttpConext.GetUserAccessTokenAsync` extension method or the `IUserTokenManagementService.GetAccessTokenAsync` method. This issue is fixed in Duende.AccessTokenManagement.OpenIdConnect 3.0.1. All users are advised to upgrade. There are no known workarounds for this vulnerability.
📍 영향받는 시스템
Duende.AccessTokenManagement.OpenIdConnect 버전 3.0.1 미만
⚔️ 공격 벡터
토큰 갱신 시 풀링된 HttpClient 인스턴스에 저장된 잘못된 토큰을 사용하는 방식 (권한 상승/데이터 노출)
🛡️ 대응 방법
Duende.AccessTokenManagement.OpenIdConnect 라이브러리를 3.0.1 버전 이상으로 업그레이드하십시오.
🔧 검증 코드
출력된 라이브러리 버전이 3.0.1보다 낮은지 확인하십시오.
dotnet list package | grep Duende.AccessTokenManagement.OpenIdConnect