CVE-2026-54282
Description
Starlette is a lightweight ASGI framework/toolkit. Prior to 1.3.0, the HTTP request path is not validated before being used to reconstruct request.url. Because request.url is rebuilt by concatenating {scheme}://{host}{path} and re-parsing the result, a path that does not begin with / (for example @google.com) moves the authority boundary during re-parsing, so request.url.hostname and request.url.netloc become attacker-controlled. Code that reads request.url.hostname (rather than the Host header or scope) can therefore be misled into trusting an attacker-supplied host. This vulnerability is fixed in 1.3.0.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
StarlettePyPI | < 1.3.0 | 1.3.0 |
Affected products
27- osv-coords25 versionspkg:apk/chainguard/airflow-3pkg:apk/chainguard/airflow-core-3pkg:apk/chainguard/airflow-postgres-fips-3pkg:apk/chainguard/kserve-storage-controllerpkg:apk/chainguard/litellmpkg:apk/chainguard/mlflowpkg:apk/chainguard/mlflow-fipspkg:apk/chainguard/nemopkg:apk/chainguard/py3.11-prefectpkg:apk/chainguard/py3.11-prefect-fipspkg:apk/chainguard/py3.12-prefectpkg:apk/chainguard/py3.12-prefect-fipspkg:apk/chainguard/py3.13-prefectpkg:apk/chainguard/py3.13-prefect-fipspkg:apk/chainguard/py3.14-prefectpkg:apk/chainguard/semgreppkg:apk/chainguard/tritonserver-backend-vllm-cuda-12.9pkg:apk/chainguard/tritonserver-backend-vllm-cuda-13.0pkg:apk/wolfi/airflow-3pkg:apk/wolfi/kserve-storage-controllerpkg:apk/wolfi/mlflowpkg:apk/wolfi/semgreppkg:pypi/starlettepkg:rpm/opensuse/python-starlette&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/python-starlette&distro=openSUSE%20Tumbleweed
< 3.2.2-r6+ 24 more
- (no CPE)range: < 3.2.2-r6
- (no CPE)range: < 3.2.2-r4
- (no CPE)range: < 3.2.2-r2
- (no CPE)range: < 0.20.0-r4
- (no CPE)range: < 1.89.0-r3
- (no CPE)range: < 3.13.0-r1
- (no CPE)range: < 3.13.0-r1
- (no CPE)range: < 2.7.3-r8
- (no CPE)range: < 3.7.5-r0
- (no CPE)range: < 3.7.5-r0
- (no CPE)range: < 3.7.5-r0
- (no CPE)range: < 3.7.5-r0
- (no CPE)range: < 3.7.5-r0
- (no CPE)range: < 3.7.5-r0
- (no CPE)range: < 3.7.5-r0
- (no CPE)range: < 1.167.0-r1
- (no CPE)range: < 25.9.0_git20260617-r0
- (no CPE)range: < 25.11-r9
- (no CPE)range: < 3.2.2-r6
- (no CPE)range: < 0.20.0-r4
- (no CPE)range: < 3.13.0-r1
- (no CPE)range: < 1.167.0-r1
- (no CPE)range: < 1.3.0
- (no CPE)range: < 0.41.3-160000.4.1
- (no CPE)range: < 1.3.1-1.1
Patches
Vulnerability mechanics
References
4- github.com/Kludex/starlette/security/advisories/GHSA-jp82-jpqv-5vv3nvdMitigationVendor AdvisoryWEB
- github.com/advisories/GHSA-jp82-jpqv-5vv3ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2026-54282ghsaADVISORY
- github.com/pypa/advisory-database/tree/main/vulns/starlette/PYSEC-2026-248.yamlghsaWEB
News mentions
0No linked articles in our index yet.