Miggo Logo

CVE-2024-39694: IdentityServer Open Redirect vulnerability

4.7

CVSS Score
3.1

Basic Information

EPSS Score
0.21103%
Published
7/31/2024
Updated
7/31/2024
KEV Status
No
Technology
TechnologyC#

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
Duende.IdentityServernuget>= 7.0.0-preview.1, <= 7.0.57.0.6
Duende.IdentityServernuget>= 6.3.0-preview.1, <= 6.3.96.3.10
Duende.IdentityServernuget>= 6.2.0-preview.1, <= 6.2.46.2.5
Duende.IdentityServernuget>= 6.1.0-preview.1, <= 6.1.76.1.8
Duende.IdentityServernuget>= 6.0.0-preview.1, <= 6.0.46.0.5
IdentityServer4nuget<= 4.1.2

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from improper URL validation in the IsLocalUrl method implementations, which failed to detect control characters in URLs. This flaw propagated to multiple security-critical methods that relied on this validation, including authorization context handling and return URL parsing. The commit diffs show explicit fixes adding control character checks, and test cases demonstrate how malicious URLs with tabs/newlines would previously pass validation. The affected methods listed in advisory documentation (GetAuthorizationContextAsync, IsValidReturnUrl, etc.) all depend on this flawed validation logic.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Imp**t It is possi*l* *or *n *tt**k*r to *r**t m*li*ious Urls t**t **rt*in *un*tions in I**ntityS*rv*r will in*orr**tly tr**t *s lo**l *n* trust**. I* su** * Url is r*turn** *s * r**ir**t, som* *rows*rs will *ollow it to * t*ir*-p*rty, untrust**

Reasoning

T** vuln*r**ility st*ms *rom improp*r URL v*li**tion in t** `IsLo**lUrl` m*t*o* impl*m*nt*tions, w*i** **il** to **t**t *ontrol ***r**t*rs in URLs. T*is *l*w prop***t** to multipl* s**urity-*riti**l m*t*o*s t**t r*li** on t*is v*li**tion, in*lu*in* *