NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
.NET
.NET NuGet
Not in CISA KEV
MEDIUM severity

CVE-2024-39694 — Duende.IdentityServer

MEDIUMFix: DuendeSoftware/IdentityServer@269ca21

CVE-2024-39694 is a medium-severity (CVSS 4.7) Open Redirect vulnerability in Duende.IdentityServer. A fix is available for Duende.IdentityServer — see the affected versions and patch details below.

Duende IdentityServer Open Redirect vulnerability

Also known asGHSA-ff4q-64jc-gx98
Published
Updated
Affected
6 pkgs
Patched
5 / 6
Exploits
None indexed
Exploitation data as of Nov 6, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

Exploitation Status

No confirmed exploitation observed yet

  • CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.

Exploitation and automatability from CISA’s SSVC triage for CVE-2024-39694.

EPSS Exploitation Probability

via FIRST.org ↗
0.5%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs45th percentile — riskier than 45% of all scored CVEsHighest risk
0.00%0.34%0.69%1.03%0.1%0.5%May 26Sep 26Nov 26

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

How urgent is this, really

Where this sits among everything scored

Real-World Exposure

6 pkgs affected
.NETDuende.IdentityServer.NETDuende.IdentityServer.NETDuende.IdentityServer.NETDuende.IdentityServer.NETDuende.IdentityServer.NETIdentityServer4

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects NuGet packages — download data is not available via public APIs for these ecosystems.

Description

Impact

It is possible for an attacker to craft malicious Urls that certain functions in IdentityServer will incorrectly treat as local and trusted. If such a Url is returned as a redirect, some browsers will follow it to a third-party, untrusted site.

Note: by itself, this vulnerability does not allow an attacker to obtain user credentials, authorization codes, access tokens, refresh tokens, or identity tokens. An attacker could however exploit this vulnerability as part of a phishing attack designed to steal user credentials.

Affected Methods

  • In the DefaultIdentityServerInteractionService, the GetAuthorizationContextAsync method may return non-null and the IsValidReturnUrl method may return true for malicious Urls, indicating incorrectly that they can be safely redirected to.

    UI code calling these two methods is the most commonly used code path that will expose the vulnerability. The default UI templates rely on this behavior in the Login, Challenge, Consent, and Account Creation pages. Customized user interface code might also rely on this behavior. The following uncommonly used APIs are also vulnerable:

  • The ServerUrlExtensions.GetIdentityServerRelativeUrl, ReturnUrlParser.ParseAsync and OidcReturnUrlParser.ParseAsync methods may incorrectly return non-null, and the ReturnUrlParser.IsValidReturnUrl and OidcReturnUrlParser.IsValidReturnUrl methods may incorrectly return true for malicious Urls.

Patches

This vulnerability is fixed in the following versions of Duende.IdentityServer:

  • 7.0.6
  • 6.3.10
  • 6.2.5
  • 6.1.8
  • 6.0.5

Duende.IdentityServer 5.1 and earlier and all versions of IdentityServer4 are no longer supported and will not be receiving updates.

Workarounds

If upgrading is not possible, use IUrlHelper.IsLocalUrl from ASP.NET Core 5.0 or later to validate return Urls in user interface code in the IdentityServer host.

Affected Packages

6 total 5 fixed
EcosystemPackageVulnerable rangeFix
.NETNuGetDuende.IdentityServer≥ 7.0.0-preview.1&&< 7.0.67.0.6dotnet add package Duende.IdentityServer --version 7.0.6
.NETNuGetDuende.IdentityServer≥ 6.3.0-preview.1&&< 6.3.106.3.10dotnet add package Duende.IdentityServer --version 6.3.10
.NETNuGetDuende.IdentityServer≥ 6.2.0-preview.1&&< 6.2.56.2.5dotnet add package Duende.IdentityServer --version 6.2.5
.NETNuGetDuende.IdentityServer≥ 6.1.0-preview.1&&< 6.1.86.1.8dotnet add package Duende.IdentityServer --version 6.1.8
.NETNuGetDuende.IdentityServer≥ 6.0.0-preview.1&&< 6.0.56.0.5dotnet add package Duende.IdentityServer --version 6.0.5
.NETNuGetIdentityServer4all versionsNo fix

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for Duende.IdentityServer, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update Duende.IdentityServer to 7.0.6 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2024-39694 is resolved across your whole dependency graph.

  3. Workarounds

    Stop reflecting attacker-controlled destinations: resolve every redirect target against an allowlist of paths or hosts you own, prefer a server-side key over a full URL in the request, and reject absolute URLs entirely where the flow only ever needs a relative one.

Frequently Asked Questions

### Impact It is possible for an attacker to craft malicious Urls that certain functions in IdentityServer will incorrectly treat as local and trusted. If such a Url is returned as a redirect, some browsers will follow it to a third-party, untrusted site. _Note: by itself, this vulnerability does **not** allow an attacker to obtain user credentials, authorization codes, access tokens, refresh tokens, or identity tokens. An attacker could however exploit this vulnerability as part of a phishing attack designed to steal user credentials._ ### Affected Methods - In the `DefaultIdentityServerInt
O3 Security · Impact-Aware SCA

Is CVE-2024-39694 in your dependencies?

Find it across NuGet, including transitive dependencies.

CVE-2024-39694: Duende.IdentityServer — Fixed in 7.0.6