Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
.NET
.NET NuGet
Not in CISA KEV
MEDIUM severity

GHSA-ff4q-64jc-gx98 — Duende.IdentityServer

MEDIUMFix: DuendeSoftware/IdentityServer@269ca21

GHSA-ff4q-64jc-gx98 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.

IdentityServer Open Redirect vulnerability

Also known asCVE-2024-39694
Published
Jul 31, 2024
Updated
Jul 31, 2024
Affected
6 pkgs
Patched
5 / 6
Exploits
None indexed
Exploitation data as of Sep 24, 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 GHSA-ff4q-64jc-gx98.

EPSS Exploitation Probability

via FIRST.org ↗
0.5%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs43th percentile — riskier than 43% of all scored CVEsHighest risk

EPSS (Exploit Prediction Scoring System) is a daily probability model maintained by FIRST.org. It estimates the likelihood a CVE will be exploited in production environments within the next 30 days, derived from real-world threat intelligence signals.

How urgent is this, really

GHSA-ff4q-64jc-gx98 plotted by exploitation likelihood (EPSS) against impact (CVSS). The shaded corner — EPSS 50%+ and CVSS 7.0+ — is where this CVE doesn't sit, though severity or exploitability alone can still warrant action.

Where this sits among everything scored

Of 378,567 CVEs with a current EPSS score, this one falls in the < 10% band (highlighted). Real counts from FIRST.org, not a sample — log-scaled since the landscape is heavily right-skewed.

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 GHSA-ff4q-64jc-gx98 is resolved across your whole dependency graph.

  3. Workarounds

    If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.

  4. How O3 protects you

    O3 Security's impact-aware SCA analyses which vulnerable code paths your application actually calls, so a match like GHSA-ff4q-64jc-gx98 can be triaged on real exposure rather than presence alone.

Tailored to GHSA-ff4q-64jc-gx98. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.

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 GHSA-ff4q-64jc-gx98 in your dependencies?

O3 Security finds GHSA-ff4q-64jc-gx98 across NuGet dependencies, including transitive ones, and its impact-aware SCA ranks findings by whether your code actually calls the vulnerable path.

GHSA-ff4q-64jc-gx98: Duende (Medium 4.7) | O3 Security