CVE-2024-39694

CVE-2024-39694 is a medium-severity open redirect vulnerability in Duende.IdentityServer (nuget), affecting versions >= 7.0.0-preview.1, <= 7.0.5. It is fixed in 7.0.6, 6.3.10, 6.2.5, 6.1.8, 6.0.5.

Does this CVE actually affect you?

Kodem shows which CVEs are reachable and running in your applications, so you fix what's exploitable, not just what's listed.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Runtime intelligence, not another scanner.

Summary

IdentityServer Open Redirect vulnerability

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.

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.

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.

Untrusted input controls a URL used for redirection, which can forward users to attacker-controlled sites. Typical impact: phishing and credential harvesting via a trusted domain.

CVE-2024-39694 has a CVSS score of 4.7 (Medium). The vector is network-reachable, no privileges required, and user interaction required. A CVSS score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether this affects your application depends on whether the vulnerable code is present and reachable in your environment. A fixed version is available (7.0.6, 6.3.10, 6.2.5, 6.1.8, 6.0.5); upgrading removes the vulnerable code path.

Affected versions

Duende.IdentityServer (>= 7.0.0-preview.1, <= 7.0.5) Duende.IdentityServer (>= 6.3.0-preview.1, <= 6.3.9) Duende.IdentityServer (>= 6.2.0-preview.1, <= 6.2.4) Duende.IdentityServer (>= 6.1.0-preview.1, <= 6.1.7) Duende.IdentityServer (>= 6.0.0-preview.1, <= 6.0.4) IdentityServer4 (<= 4.1.2)

Security releases

Duende.IdentityServer → 7.0.6 (nuget) Duende.IdentityServer → 6.3.10 (nuget) Duende.IdentityServer → 6.2.5 (nuget) Duende.IdentityServer → 6.1.8 (nuget) Duende.IdentityServer → 6.0.5 (nuget)

Kodem intelligence

Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.

Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.

Already deployed Kodem?

See it in your environmentNew to Kodem? Get a demo →

Remediation advice

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.

Frequently Asked Questions

  1. What is CVE-2024-39694? CVE-2024-39694 is a medium-severity open redirect vulnerability in Duende.IdentityServer (nuget), affecting versions >= 7.0.0-preview.1, <= 7.0.5. It is fixed in 7.0.6, 6.3.10, 6.2.5, 6.1.8, 6.0.5. Untrusted input controls a URL used for redirection, which can forward users to attacker-controlled sites.
  2. How severe is CVE-2024-39694? CVE-2024-39694 has a CVSS score of 4.7 (Medium). This score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether it represents real risk in your environment depends on whether the vulnerable code is present and reachable.
  3. Which packages are affected by CVE-2024-39694?
    • Duende.IdentityServer (nuget) (versions >= 7.0.0-preview.1, <= 7.0.5)
    • IdentityServer4 (nuget) (versions <= 4.1.2)
  4. Is there a fix for CVE-2024-39694? Yes. CVE-2024-39694 is fixed in 7.0.6, 6.3.10, 6.2.5, 6.1.8, 6.0.5. Upgrade to this version or later.
  5. Is CVE-2024-39694 exploitable, and should I be worried? Whether CVE-2024-39694 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
  6. What actually determines whether CVE-2024-39694 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
  7. How do I fix CVE-2024-39694?
    • Upgrade Duende.IdentityServer to 7.0.6 or later
    • Upgrade Duende.IdentityServer to 6.3.10 or later
    • Upgrade Duende.IdentityServer to 6.2.5 or later
    • Upgrade Duende.IdentityServer to 6.1.8 or later
    • Upgrade Duende.IdentityServer to 6.0.5 or later

Other vulnerabilities in Duende.IdentityServer

Stop the waste.
Protect your environment with Kodem.