[CU-86b4umhm1] Update dependency flask to v3 [SECURITY] by dnastack-renovate[bot] · Pull Request #152 · DNAstack/dnastack-client
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| flask (changelog) | ~=2.1 → ~=3.1 |
GitHub Vulnerability Alerts
CVE-2026-27205
When the session object is accessed, Flask should set the Vary: Cookie header. This instructs caches not to cache the response, as it may contain information specific to a logged in user. This is handled in most cases, but some forms of access such as the Python in operator were overlooked.
The severity depends on the application's use of the session, and the cache's behavior regarding cookies. The risk depends on all these conditions being met.
- The application must be hosted behind a caching proxy that does not ignore responses with cookies.
- The application does not set a
Cache-Controlheader to indicate that a page is private or should not be cached. - The application accesses the session in a way that does not access the values, only the keys, and does not mutate the session.
Flask session does not add Vary: Cookie header when accessed in some ways
CVE-2026-27205 / GHSA-68rp-wp8r-4726
More information
Details
When the session object is accessed, Flask should set the Vary: Cookie header. This instructs caches not to cache the response, as it may contain information specific to a logged in user. This is handled in most cases, but some forms of access such as the Python in operator were overlooked.
The severity depends on the application's use of the session, and the cache's behavior regarding cookies. The risk depends on all these conditions being met.
- The application must be hosted behind a caching proxy that does not ignore responses with cookies.
- The application does not set a
Cache-Controlheader to indicate that a page is private or should not be cached. - The application accesses the session in a way that does not access the values, only the keys, and does not mutate the session.
Severity
- CVSS Score: 2.3 / 10 (Low)
- Vector String:
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
References
- https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726
- https://nvd.nist.gov/vuln/detail/CVE-2026-27205
- https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4
- https://github.com/pallets/flask
- https://github.com/pallets/flask/releases/tag/3.1.3
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
pallets/flask (flask)
v3.1.3
Released 2026-02-18
- The session is marked as accessed for operations that only access the keys
but not the values, such asinandlen. :ghsa:68rp-wp8r-4726
v3.1.2
Released 2025-08-19
stream_with_contextdoes not fail inside async views. :issue:5774- When using
follow_redirectsin the test client, the final state
ofsessionis correct. :issue:5786 - Relax type hint for passing bytes IO to
send_file. :issue:5776
v3.1.1
Released 2025-05-13
- Fix signing key selection order when key rotation is enabled via
SECRET_KEY_FALLBACKS. :ghsa:4grg-w6v8-c28g - Fix type hint for
cli_runner.invoke. :issue:5645 flask --helploads the app and plugins first to make sure all commands
are shown. :issue:5673- Mark sans-io base class as being able to handle views that return
AsyncIterable. This is not accurate for Flask, but makes typing easier
for Quart. :pr:5659
v3.1.0
Released 2024-11-13
- Drop support for Python 3.8. :pr:
5623 - Update minimum dependency versions to latest feature releases.
Werkzeug >= 3.1, ItsDangerous >= 2.2, Blinker >= 1.9. :pr:5624,5633 - Provide a configuration option to control automatic option
responses. :pr:5496 Flask.open_resource/open_instance_resourceand
Blueprint.open_resourcetake anencodingparameter to use when
opening in text mode. It defaults toutf-8. :issue:5504Request.max_content_lengthcan be customized per-request instead of only
through theMAX_CONTENT_LENGTHconfig. Added
MAX_FORM_MEMORY_SIZEandMAX_FORM_PARTSconfig. Added documentation
about resource limits to the security page. :issue:5625- Add support for the
Partitionedcookie attribute (CHIPS), with the
SESSION_COOKIE_PARTITIONEDconfig. :issue:5472 -e pathtakes precedence over default.envand.flaskenvfiles.
load_dotenvloads default files in addition to a path unless
load_defaults=Falseis passed. :issue:5628- Support key rotation with the
SECRET_KEY_FALLBACKSconfig, a list of old
secret keys that can still be used for unsigning. Extensions will need to
add support. :issue:5621 - Fix how setting
host_matching=Trueorsubdomain_matching=False
interacts withSERVER_NAME. SettingSERVER_NAMEno longer restricts
requests to only that domain. :issue:5553 Request.trusted_hostsis checked during routing, and can be set through
theTRUSTED_HOSTSconfig. :issue:5636
v3.0.3
Released 2024-04-07
- The default
hashlib.sha1may not be available in FIPS builds. Don't
access it at import time so the developer has time to change the default.
:issue:5448 - Don't initialize the
cliattribute in the sansio scaffold, but rather in
theFlaskconcrete class. :pr:5270
v3.0.2
Released 2024-02-03
- Correct type for
jinja_loaderproperty. :issue:5388 - Fix error with
--extra-filesand--exclude-patternsCLI options.
:issue:5391
v3.0.1
Released 2024-01-18
- Correct type for
pathargument tosend_file. :issue:5336 - Fix a typo in an error message for the
flask run --keyoption. :pr:5344 - Session data is untagged without relying on the built-in
json.loads
object_hook. This allows other JSON providers that don't implement that.
:issue:5381 - Address more type findings when using mypy strict mode. :pr:
5383
v3.0.0
Released 2023-09-30
- Remove previously deprecated code. :pr:
5223 - Deprecate the
__version__attribute. Use feature detection, or
importlib.metadata.version("flask"), instead. :issue:5230 - Restructure the code such that the Flask (app) and Blueprint
classes have Sans-IO bases. :pr:5127 - Allow self as an argument to url_for. :pr:
5264 - Require Werkzeug >= 3.0.0.
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- If you want to rebase/retry this PR, check this box
This PR has been generated by Renovate Bot.