Impact
The Starlette ASGI framework’s StaticFiles component on Windows can be tricked by an attacker who supplies a UNC path such as \\attacker.com\share. The component calls os.path.realpath before rejecting the path, which triggers an outbound SMB connection carrying the HTTP service account’s NTLMv2 credentials. Even though the HTTP response is a 404, the credentials are exposed, allowing an attacker to obtain them for offline cracking or relay. This enables credential theft over the network.
Affected Systems
The flaw affects Starlette versions 1.0.1 and earlier when deployed on Windows with the default follow_symlink=False setting. Frameworks built on Starlette, such as FastAPI, inherit the vulnerability. POSIX platforms and deployments that enable follow_symlink=True are not impacted. The issue was resolved in Starlette 1.1.0.
Risk and Exploitability
The CVSS base score of 7.5 indicates high severity, while the EPSS score of less than 1% suggests low exploitation likelihood. The vulnerability is not listed in the CISA KEV catalog. An attacker would need network access to the application, and the app must run on Windows and serve static files that could resolve UNC paths. Once triggered, credentials are leaked before the request is denied.
OpenCVE Enrichment
Github GHSA