highVulnerability

GHSA-c2g3-c4gc-w5wg

### Impact This impacts users which use multiple unconstrained route parameters not separated by a `/`. For instance, the following code is vulnerable: ``` var route = new DotvvmRoute("edit/{a}-{b}-{c}/done", null, "testpage", null, null, configuration); var adversarialInput = "edit/" + new string('-', 32000); route.IsMatch(adversarialInput, out _); ``` ### Patches DotVVM versions 4.3.15, 4.2.11 and 5.0.0-preview09 apply a 1 second timeout to route regex operations. When it is triggered, DotVVM permanently switches to using the .NET non-backtracking regex engine for this route. If non-backtracking is not supported by target runtime (< .NET 8.0), DotVVM returns HTTP 503 when the 1 second timeout is reached. ### Workarounds Avoid multiple unconstrained route parameters in one section not separated by a `/`. See for documentation of route parameter constraints. Even with the patched version we recommend doing this both as security hardening and to avoid ambiguity. For instance, when we change the route URL to `"edit/{a:alpha}-{b:alpha}-{c}/done"`, the problem disappears. If all available constraints are too restrictive, we can still use `{a:regex([^-]*)}` to forbid the `-`, which is enough to remove the mabiguity

Properties

ghsa_id
GHSA-c2g3-c4gc-w5wg
summary
ReDoS in DotVVM routing
severity
high
cve_id
GHSA-c2g3-c4gc-w5wg
is_ghsa_only
true
ghsa_published
2026-06-19T15:08:10Z
source_url
https://github.com/advisories/GHSA-c2g3-c4gc-w5wg
ghsa_updated
2026-06-19T15:08:11Z

Related Entities (4)

HAS_WEAKNESS (1)

[Weakness]Inefficient Regular Expression Complexity

REPORTED_BY (1)

[Source]GitHub Advisory Database

VULNERABLE_TO (1)

[Software]nuget/DotVVM

AFFECTS (1)

[Software]nuget/DotVVM

Explore deeper with Ninja Signal's threat intelligence graph

GHSA-c2g3-c4gc-w5wg — Ninja Signal Threat Intelligence | Ninja Signal