CVE-2025-47278 json
Flask uses fallback key instead of current signing key
published 2025-05-13 17 mo ago modified 2026-09-10 59 d ago also EUVD-2025-14386 , GHSA-4grg-w6v8-c28g , PYSEC-2026-1377
- cvss
- 1.8
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 8%
- public exploits
- 0
- none known
Summary
Flask is a web server gateway interface (WSGI) web application framework. In Flask 3.1.0, the way fallback key configuration was handled resulted in the last fallback key being used for signing, rather than the current signing key. Signing is provided by the `itsdangerous` library. A list of keys can be passed, and it expects the last (top) key in the list to be the most recent key, and uses that for signing. Flask was incorrectly constructing that list in reverse, passing the signing key first. Sites that have opted-in to use key rotation by setting `SECRET_KEY_FALLBACKS` care likely to unexpectedly be signing their sessions with stale keys, and their transition to fresher keys will be impeded. Sessions are still signed, so this would not cause any sort of data integrity loss. Version 3.1.1 contains a patch for the issue.
Patch / fix
- pypi flask 3.1.1
- palletsprojects flask 3.1.1
- flask Debian 14, Debian 13 3.1.1-1
debian advisories DEBIAN-CVE-2025-47278
- python-Flask openSUSE Tumbleweed 3.1.1-1.1
opensuse advisories openSUSE-SU-2025:15152-1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-47278 updated cvss 2.3
flask: Flask Session Signing Fallback Key Vulnerability
-
Red Hat Enterprise Linux 8 python3-flask Red Hat OpenShift Container Platform 4 python-flask, python3-flask Red Hat OpenStack Platform 16.2 python-flask, python3-flask Red Hat OpenStack Platform 17.1 python3-flask Red Hat OpenStack Platform 18.0 python-flask Red Hat Quay 3 quay/quay-rhel8not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 17 mo ago
Exploit prediction
0.19% chance of exploitation in the next 30 days, higher than 8% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 1.8 | CVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N |
| CNA | 4.0 | 1.8 | CVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | flask | >=3.1.0, <3.1.1 |
3.1.1 |
Affected products
- pallets flask
Classification
- Weakness
-
- CWE-683 Function Call With Incorrect Order of Arguments
- Technology feeds
References
-
github.com
/pallets/flask/commit/73d6504063bfa00666a92b07a28aaf906c532f09
web, patch
-
github.com
/pallets/flask/security/advisories/GHSA-4grg-w6v8-c28g
web, advisory
-
github.com
/pallets/flask/releases/tag/3.1.1
web
-
nvd.nist.gov
/vuln/detail/CVE-2025-47278
advisory
-
github.com
/pallets/flask
package
-
pypi.org
/project/flask
package
-
github.com
/advisories/GHSA-4grg-w6v8-c28g
advisory
Sources
- CVE List CVE-2025-47278
- GitHub Advisory GHSA-4grg-w6v8-c28g
- NVD CVE-2025-47278
- OSV PYSEC-2026-1377
- Maintainer advisory GHSA-4grg-w6v8-c28g
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of pallets/flask published their own advisory on GitHub. Reviewed sources take precedence over it.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.