Cyber Resilience

CVE-2026-25478

HighPublic PoC

Published: 09 February 2026

Published
09 February 2026
Modified
17 February 2026
KEV Added
Patch
CVSS Score v3.1 7.4 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
EPSS Score 0.0003 7.4th percentile
Risk Priority 15 60% EPSS · 20% KEV · 20% CVSS

Summary

CVE-2026-25478 is a high-severity Permissive Cross-domain Security Policy with Untrusted Domains (CWE-942) vulnerability in Litestar Litestar. Its CVSS base score is 7.4 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 7.4th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified are NIST 800-53 AC-4 (Information Flow Enforcement) and SI-10 (Information Input Validation).

Deeper analysis

CVE-2026-25478 affects Litestar, an Asynchronous Server Gateway Interface (ASGI) framework, in versions prior to 2.20.0. The vulnerability arises in the CORSConfig.allowed_origins_regex component, where a regular expression is constructed from configured allowlist values without escaping metacharacters. This regex is then used with Python's fullmatch() function for origin validation, enabling malicious origins to match unexpectedly and bypass intended CORS restrictions. The issue is classified under CWE-942 (Permissive Cross-domain Policy with Untrusted Domains) and carries a CVSS v3.1 base score of 7.4 (AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N).

An attacker can exploit this vulnerability remotely over the network with low complexity and no required privileges, though it necessitates user interaction, such as tricking a victim into loading a malicious webpage. By crafting an origin string that exploits the unescaped metacharacters in the regex, the attacker can make their domain appear to match the application's allowlist. Successful exploitation changes the scope to high, allowing high-impact confidentiality violations, such as unauthorized access to sensitive data via cross-origin requests that bypass CORS protections.

Litestar addressed this issue in version 2.20.0, as detailed in the project's changelog, release notes, and a specific commit (eb87703b309efcc0d1b087dcb12784e76b003d5a). The GitHub security advisory (GHSA-2p2x-hpg8-cqp2) recommends upgrading to 2.20.0 or later to mitigate the vulnerability by properly escaping metacharacters in the regex construction.

EU & UK References

Vulnerability details

Litestar is an Asynchronous Server Gateway Interface (ASGI) framework. Prior to 2.20.0, CORSConfig.allowed_origins_regex is constructed using a regex built from configured allowlist values and used with fullmatch() for validation. Because metacharacters are not escaped, a malicious origin can match unexpectedly.…

more

The check relies on allowed_origins_regex.fullmatch(origin). This vulnerability is fixed in 2.20.0.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise TechniquesAI

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Why these techniques?

CORS origin validation bypass via unescaped regex in public-facing ASGI web framework directly enables remote exploitation of the application to subvert cross-origin controls and access sensitive data.

Confidence: HIGH · MITRE ATT&CK Enterprise v18.1

CVEs Like This One

CVE-2025-9292Shared CWE-942
CVE-2026-41056Shared CWE-942
CVE-2024-22348Shared CWE-942
CVE-2026-1181Shared CWE-942
CVE-2026-30924Shared CWE-942
CVE-2026-32610Shared CWE-942
CVE-2026-6662Shared CWE-942
CVE-2026-33043Shared CWE-942
CVE-2026-8948Shared CWE-942
CVE-2026-5302Shared CWE-942

Affected Assets

litestar
litestar
≤ 2.20.0

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

prevent

Directly enforces cross-domain information flow policies by ensuring only explicitly allowed origins can exchange data, preventing the regex bypass in CORSConfig.allowed_origins_regex.

prevent

Requires validation and sanitization of untrusted input (origin strings) before use in regex construction, blocking metacharacter injection that enables unauthorized fullmatch() matches.

prevent

Implements boundary protection mechanisms that monitor and restrict cross-origin requests according to policy, mitigating permissive CORS configurations that result from the flawed regex.

References