Deserialization in Flask-Caching Project

CVE-2021-33026

The Flask-Caching extension through 1.10.1 for Flask relies on Pickle for serialization, which may lead to remote code execution or local privilege escalation. If an attacker gains access to cache storage (e.g., filesystem, Memcached, Redis, etc.), they can construct a crafted payload, poison the cache, and execute Python code. NOTE: a third party indicates that exploitation is extremely unlikely unless the machine is already compromised; in other cases, the attacker would be unable to write their payload to the cache and generate the required collision

Vulnerability class: Insecure Deserialization

EPSS: 0.073 (93.8th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 9.8 (Critical). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.

Affected products

Weakness classification (CWE)

Public proof-of-concept exploits

References

  • cve@mitre.org (Patch, Third Party Advisory, x_refsource_MISC)
  • cve@mitre.org (Patch, Third Party Advisory, x_refsource_MISC, Issue Tracking)

Frequently asked questions

What is CVE-2021-33026?
CVE-2021-33026 is a critical-severity vulnerability in Flask-Caching Project, classified under Deserialization of Untrusted Data. CVSS score: 9.8/10. Published 2021-05-13.
How severe is CVE-2021-33026?
Critical severity. CVSS v3 base score is 9.8 out of 10.
Is CVE-2021-33026 known to be exploited?
9 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.