High severity · published May 2, 2023
CVE-2023-30861
Flask is a lightweight WSGI web application framework
7.5
CVSS
1.3%
EPSS
No
On KEV
Description
Flask is a lightweight WSGI web application framework. When all of the following conditions are met, a response containing data intended for one client may be cached and subsequently sent by the proxy to other clients. If the proxy also caches `Set-Cookie` headers, it may send one client's `session` cookie to other clients. The severity depends on the application's use of the session and the proxy's behavior regarding cookies. The risk depends on all these conditions being met.
1. The application must be hosted behind a caching proxy that does not strip cookies or ignore responses with cookies.
2. The application sets `session.permanent = True`
3. The application does not access or modify the session at any point during a request.
4. `SESSION_REFRESH_EACH_REQUEST` enabled (the default).
5. The application does not set a `Cache-Control` header to indicate that a page is private or should not be cached.
This happens because vulnerable versions of Flask only set the `Vary: Cookie` header when the session is accessed or modified, not when it is refreshed (re-sent to update the expiration) without being accessed or modified. This issue has been fixed in versions 2.3.2 and 2.2.5.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
None
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)1.3% · higher than 69% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
FL
Flask · Palletsprojects
before 2.2.5; 2.3.0 before 2.3.2 · source: NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2023-30861
CVE.org
https://www.cve.org/CVERecord?id=CVE-2023-30861
Patch
https://github.com/pallets/flask/commit/70f906c51ce49c485f1d355703e9cc3386b1cc2b
Patch
https://github.com/pallets/flask/commit/afd63b16170b7c047f5758eb910c416511e9c965
Release Notes
https://github.com/pallets/flask/releases/tag/2.2.5
Release Notes
https://github.com/pallets/flask/releases/tag/2.3.2
Vendor Advisory
https://github.com/pallets/flask/security/advisories/GHSA-m2qf-hxjv-5gpq
lists.debian.org
https://lists.debian.org/debian-lts-announce/2023/08/msg00024.html
More from Flask
7.5
CVE-2019-1010083
The Pallets Project Flask before 1.0 is affected by: unexpected memory usage
7.5
CVE-2018-1000656
The Pallets Project flask version Before 0.12.3 contains a CWE-20: Improper Input Validation vulnerability in flask that can result in Large amount of memory usage possibly…
4.3
CVE-2026-27205
Flask session does not add `Vary: Cookie` header when accessed in some ways
