GitHub Advisoryadvisory · PyPI
GHSA-m2qf-hxjv-5gpq Flask vulnerable to possible disclosure of permanent session cookie due to missing Vary: Cookie header
HIGH
Official page ↗
- Aliases
- CVE-2023-30861
- Ecosystem
- PyPI
- Packages
- Flask
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- Weaknesses
- CWE-539
- Reviewed
- 2023-05-01
Affected packages
• PyPI Flask: >= 2.3.0, < 2.3.2 → fixed in 2.3.2
• PyPI Flask: < 2.2.5 → fixed in 2.2.5
Description
When all of the following conditions are met, a response containing data intended for one client may be cached and subsequently sent by a 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`.
2. The application does not access or modify the session at any point during a request.
4. `SESSION_REFRESH_EACH_REQUEST` is 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.
Related
Alias · CVE (1)
- CVE-2023-30861 Flask is a lightweight WSGI web application framework. vulnerability
Weakness · CWE (1)
- CWE-539 Use of Persistent Cookies Containing Sensitive Information weakness
References
- https://github.com/pallets/flask/security/advisories/GHSA-m2qf-hxjv-5gpq web
- https://nvd.nist.gov/vuln/detail/CVE-2023-30861 advisory
- https://github.com/pallets/flask/commit/70f906c51ce49c485f1d355703e9cc3386b1cc2b web
- https://github.com/pallets/flask/commit/afd63b16170b7c047f5758eb910c416511e9c965 web
- https://github.com/pallets/flask package
- https://github.com/pallets/flask/releases/tag/2.2.5 web
- https://github.com/pallets/flask/releases/tag/2.3.2 web
- https://github.com/pypa/advisory-database/tree/main/vulns/flask/PYSEC-2023-62.yaml web
- https://lists.debian.org/debian-lts-announce/2023/08/msg00024.html web
- https://security.netapp.com/advisory/ntap-20230818-0006 web
- https://www.debian.org/security/2023/dsa-5442 web