8.2

CVE-2021-32677: fedoraproject fedora Cross-Site Request Forgery (CSRF)

CVSS: 8.2v3.1HighModified
AliasesGHSA-8h2j-cgx8-6xv7PYSEC-2021-100UBUNTU-CVE-2021-32677
Published 09-06-2021Last modified 03-08-2024

Vulnerability summary

CVE-2021-32677 is a high (CVSS 8.2) Cross-Site Request Forgery (CSRF) vulnerability in fedoraproject fedora. EPSS estimates a 0.72% chance of exploitation in the next 30 days, higher than 53.1% of scored vulnerabilities.

Overall risk
33/100
0100
Medium · default modelHow is this calculated?
CVSS score
8.2/10
010
High · v3.1 (CVE.org)
EPSS score
0.72%
0%100%
Low · -0.06 pp in 30 days
KEVNot listedIn no KEV catalog
RansomwareNone recordedNo known use recorded
Public exploits0No public exploits recorded

Timeline

  1. 09-06-2021
    PublishedVulnerability first disclosed.
  2. 03-08-2024
    Last modifiedVulnerability information updated.

Description

FastAPI 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.

CVSS metrics

7 scores · 5 sources · 3 versions

EPSS trend

Probability

0.72%

Chance of exploitation in the next 30 days

Percentile

53%

Versus all other CVEs

30-day change

-0.06 pp

From 0.78% on 19-09-2026

19-09-202619-10-2026
EPSS score
0.72%

Known exploited

Compare KEV catalogs

Not in any of the 3 tracked catalogs.

Public exploits

0 found

No public exploits indexed.

Weaknesses

CWE · root cause

Affected systems

Debian1 product
  • fastapi< 0.70.0-1
Fedoraproject1 product
PyPI1 product
  • fastapi< fa7e3c996edf2d5482fff8f9d890ac2390dede4d | < 0.65.2
Tiangolo1 product
Ubuntu1 product
  • fastapiAll versions (No fix recorded)

5 vendors · 5 products

References

11 links
Show all 11 references