Read the docs
TI-2025-29808 Aliases CVE-2025-47278GHSA-4grg-w6v8-c28g

Flask uses fallback key instead of current signing key

Priority LOW 9CWE-683Published · Updated

Key facts

Attack vector
Local
Privileges required
High
User interaction
None
Attack complexity
Low
Attack requirements
Present
Impact type
—
Confidentiality · integrity · availability
None · None · Low
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub.

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00192 8th percentileScored 2026-11-07
Fix Fixed flask (PyPI): 3.1.1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
palletsflask= 3.1.0—No fix listedCNA
—flask (PyPI)3.1.0 to before 3.1.13.1.1Patch availableGHSA-4grg-w6v8-c28g
  • flask Vendorpallets Affected = 3.1.0 Fixed in — No fix listed CNA
  • flask (PyPI) Vendor— Affected 3.1.0 to before 3.1.1 Fixed in 3.1.1 Patch available GHSA-4grg-w6v8-c28g

Remediation

  • Fix · GHSA-4grg-w6v8-c28g flask (PyPI) Fixed in 3.1.1 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Low. Red Hat's page for this CVE →

Not affected: 6 products
  • Red Hat Enterprise Linux 8
  • Red Hat OpenShift Container Platform 4
  • Red Hat OpenStack Platform 16.2
  • Red Hat OpenStack Platform 17.1
  • Red Hat OpenStack Platform 18.0
  • Red Hat Quay 3

Timeline

  1. 2026-10-02 Threatist record created from CVE-2025-47278
  2. 2026-10-03 Alias added: GHSA-4grg-w6v8-c28g

References

  • TI-2026-06360 [DISPUTED] Pallets Click contains a command injection via Unsanitized Filename "click.edit()" CVSS 3.1HIGH 7.2
  • TI-2019-10671 In Pallets Werkzeug before 0.15.5, SharedDataMiddleware mishandles drive names (such as C:) in Windows pathnames. CVSS 3.1HIGH 7.5
  • TI-2022-11856 Improper parsing of HTTP requests in Pallets Werkzeug v2.1.0 and below allows attackers… CVSS 3.1CRITICAL 9.8
  • TI-2019-08127 In Pallets Jinja before 2.10.1, str.format_map allows a sandbox escape. CVSS 3.1HIGH 8.6
  • TI-2016-08785 In Pallets Jinja before 2.8.1, str.format allows a sandbox escape. CVSS 3.0HIGH 8.6
  • TI-2023-10880 Werkzeug may allow high resource usage when parsing multipart form data with many fields CVSS 3.1HIGH 7.5
See all 28 →

Sources