CVE-2021-32677

Summary

CVECVE-2021-32677
StatePUBLIC
Assigner[email protected]
Source PriorityCVE Program / NVD first with legacy fallback
Published2021-06-09 18:15:00 UTC
Updated2023-11-07 03:35:00 UTC
DescriptionFastAPI is a web framework for building APIs with Python 3.6+ based on standard Python type hints. FastAPI versions lower than 0.65.2 that used cookies for authentication in path operations that received JSON payloads sent by browsers were vulnerable to a Cross-Site Request Forgery (CSRF) attack. In versions lower than 0.65.2, FastAPI would try to read the request payload as JSON even if the content-type header sent was not set to application/json or a compatible JSON media type (e.g. application/geo+json). A request with a content type of text/plain containing JSON data would be accepted and the JSON data would be extracted. Requests with content type text/plain are exempt from CORS preflights, for being considered Simple requests. The browser will execute them right away including cookies, and the text content could be a JSON string that would be parsed and accepted by the FastAPI application. This is fixed in FastAPI 0.65.2. The request data is now parsed as JSON only if the content-type header is application/json or another JSON compatible media type like application/geo+json. It's best to upgrade to the latest FastAPI, but if updating is not possible then a middleware or a dependency that checks the content-type header and aborts the request if it is not application/json or another JSON compatible content type can act as a mitigating workaround.

Risk And Classification

Problem Types: CWE-352

NVD Known Affected Configurations (CPE 2.3)

TypeVendorProductVersionUpdateEditionLanguage
Application Fastapi Project Fastapi All All All All
Operating System Fedoraproject Fedora 34 All All All

References

ReferenceSourceLinkTags
[SECURITY] Fedora 34 Update: python-fastapi-0.65.2-1.fc34 - package-announce - Fedora Mailing-Lists lists.fedoraproject.org
Cross-Site Request Forgery (CSRF) in FastAPI · Advisory · tiangolo/fastapi · GitHub CONFIRM github.com
[SECURITY] Fedora 34 Update: python-fastapi-0.65.2-1.fc34 - package-announce - Fedora Mailing-Lists FEDORA lists.fedoraproject.org
???? Check Content-Type request header before assuming JSON (#2118) · tiangolo/fastapi@fa7e3c9 · GitHub MISC github.com
CVE Program record CVE.ORG www.cve.org canonical
NVD vulnerability detail NVD nvd.nist.gov canonical, analysis

Legacy QID Mappings

  • 183179 Debian Security Update for fastapi (CVE-2021-32677)
  • 281643 Fedora Security Update for python (FEDORA-2021-917e89c036)
  • 982084 Python (pip) Security Update for fastapi (GHSA-8h2j-cgx8-6xv7)

© CVE.report 2026

Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user's risk. It is the responsibility of user to evaluate the accuracy, completeness or usefulness of any information, opinion, advice or other content. EACH USER WILL BE SOLELY RESPONSIBLE FOR ANY consequences of his or her direct or indirect use of this web site. ALL WARRANTIES OF ANY KIND ARE EXPRESSLY DISCLAIMED. This site will NOT BE LIABLE FOR ANY DIRECT, INDIRECT or any other kind of loss.

CVE, CWE, and OVAL are registred trademarks of The MITRE Corporation and the authoritative source of CVE content is MITRE's CVE web site. This site includes MITRE data granted under the following license.

Free CVE JSON API cve.report/api

CVE.report and Source URL Uptime Status status.cve.report