[pkg-vuln] CVE-2026-48818 in starlette@0.52.1 #538

Closed
opened 2026-07-10 01:31:28 +00:00 by kert · 1 comment
Owner

Severity: HIGH
Package: starlette @ 0.52.1
Fixed in: 1.1.0

Starlette is a lightweight ASGI framework/toolkit. In versions 1.0.1 and earlier, StaticFiles on Windows is vulnerable to SSRF. An UNC path such as \attacker.com\share can cause os.path.realpath to initiate an outbound SMB connection before the path is rejected, exposing the service account’s NTLMv2 credentials for offline cracking or relay even though the HTTP response is only a 404. The issue affects default follow_symlink=False deployments, including frameworks built on Starlette such as Fas

Reference: https://nvd.nist.gov/vuln/detail/CVE-2026-48818

**Severity:** HIGH **Package:** `starlette` @ `0.52.1` **Fixed in:** `1.1.0` Starlette is a lightweight ASGI framework/toolkit. In versions 1.0.1 and earlier, StaticFiles on Windows is vulnerable to SSRF. An UNC path such as \\attacker.com\share can cause os.path.realpath to initiate an outbound SMB connection before the path is rejected, exposing the service account’s NTLMv2 credentials for offline cracking or relay even though the HTTP response is only a 404. The issue affects default follow_symlink=False deployments, including frameworks built on Starlette such as Fas **Reference:** https://nvd.nist.gov/vuln/detail/CVE-2026-48818
kert added this to the P21: Package Supply Chain — inventory, mirrors, drift, vuln scanning milestone 2026-07-10 01:31:28 +00:00
kert added the qualityci labels 2026-07-10 01:31:28 +00:00
Author
Owner

Not exploitable here. CVE-2026-48818 (StaticFiles UNC-path SSRF / NTLM credential exposure) is Windows-only (os.path.realpath on UNC paths + SMB); every container here runs Linux. starlette enters via fastapi (api service) and marimo (notebooks editor). Neither container publishes a host port (compose.yml: only traefik/git/zotero do); both are reachable only on internal compose networks / behind traefik, and the api requires bearer auth on protected routes.

Bumped anyway (defense in depth): starlette 0.52.1 → 1.3.1 in 65c31cf88f (uv.lock + pkg-manifest; pyproject floor raised for direct deps). Advisory link is in the issue body.

**Not exploitable here.** CVE-2026-48818 (StaticFiles UNC-path SSRF / NTLM credential exposure) is Windows-only (`os.path.realpath` on UNC paths + SMB); every container here runs Linux. starlette enters via fastapi (api service) and marimo (notebooks editor). Neither container publishes a host port (compose.yml: only traefik/git/zotero do); both are reachable only on internal compose networks / behind traefik, and the api requires bearer auth on protected routes. **Bumped anyway** (defense in depth): `starlette` 0.52.1 → 1.3.1 in https://git.fhirworx.io/homelab/stack/commit/65c31cf88fd8de552a006859159790de468403fb (uv.lock + pkg-manifest; pyproject floor raised for direct deps). Advisory link is in the issue body.
kert closed this issue 2026-07-10 17:19:02 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: homelab/stack#538