Skip to content

chore: Update dependency flask to v3 [SECURITY]#88

Open
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/pypi-flask-vulnerability
Open

chore: Update dependency flask to v3 [SECURITY]#88
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/pypi-flask-vulnerability

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented May 28, 2023

This PR contains the following updates:

Package Change Age Confidence
flask (changelog) ==2.2.2==3.1.3 age confidence

GitHub Vulnerability Alerts

CVE-2023-30861

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.
  3. 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.

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.

  1. The application must be hosted behind a caching proxy that does not ignore responses with cookies.
  2. The application does not set a Cache-Control header to indicate that a page is private or should not be cached.
  3. The application accesses the session in a way that does not access the values, only the keys, and does not mutate the session.

Release Notes

pallets/flask (flask)

v3.1.3

Compare Source

This is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.

PyPI: https://pypi.org/project/Flask/3.1.3/
Changes: https://flask.palletsprojects.com/page/changes/#version-3-1-3

  • The session is marked as accessed for operations that only access the keys but not the values, such as in and len. GHSA-68rp-wp8r-4726

v3.1.2

Compare Source

Released 2025-08-19

  • stream_with_context does not fail inside async views. :issue:5774
  • When using follow_redirects in the test client, the final state
    of session is correct. :issue:5786
  • Relax type hint for passing bytes IO to send_file. :issue:5776

v3.1.1

Compare Source

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 --help loads 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

Compare Source

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_resource and
    Blueprint.open_resource take an encoding parameter to use when
    opening in text mode. It defaults to utf-8. :issue:5504
  • Request.max_content_length can be customized per-request instead of only
    through the MAX_CONTENT_LENGTH config. Added
    MAX_FORM_MEMORY_SIZE and MAX_FORM_PARTS config. Added documentation
    about resource limits to the security page. :issue:5625
  • Add support for the Partitioned cookie attribute (CHIPS), with the
    SESSION_COOKIE_PARTITIONED config. :issue:5472
  • -e path takes precedence over default .env and .flaskenv files.
    load_dotenv loads default files in addition to a path unless
    load_defaults=False is passed. :issue:5628
  • Support key rotation with the SECRET_KEY_FALLBACKS config, 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=True or subdomain_matching=False
    interacts with SERVER_NAME. Setting SERVER_NAME no longer restricts
    requests to only that domain. :issue:5553
  • Request.trusted_hosts is checked during routing, and can be set through
    the TRUSTED_HOSTS config. :issue:5636

v3.0.3

Compare Source

Released 2024-04-07

  • The default hashlib.sha1 may 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 cli attribute in the sansio scaffold, but rather in
    the Flask concrete class. :pr:5270

v3.0.2

Compare Source

Released 2024-02-03

  • Correct type for jinja_loader property. :issue:5388
  • Fix error with --extra-files and --exclude-patterns CLI options.
    :issue:5391

v3.0.1

Compare Source

Released 2024-01-18

  • Correct type for path argument to send_file. :issue:5336
  • Fix a typo in an error message for the flask run --key option. :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

Compare Source

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.

v2.3.3

Compare Source

Released 2023-08-21

  • Python 3.12 compatibility.
  • Require Werkzeug >= 2.3.7.
  • Use flit_core instead of setuptools as build backend.
  • Refactor how an app's root and instance paths are determined. :issue:5160

v2.3.2

Compare Source

Released 2023-05-01

  • Set Vary: Cookie header when the session is accessed, modified, or refreshed.
  • Update Werkzeug requirement to >=2.3.3 to apply recent bug fixes.
    :ghsa:m2qf-hxjv-5gpq

v2.3.1

Compare Source

Released 2023-04-25

  • Restore deprecated from flask import Markup. :issue:5084

v2.3.0

Compare Source

Released 2023-04-25

  • Drop support for Python 3.7. :pr:5072

  • Update minimum requirements to the latest versions: Werkzeug>=2.3.0, Jinja2>3.1.2,
    itsdangerous>=2.1.2, click>=8.1.3.

  • Remove previously deprecated code. :pr:4995

    • The push and pop methods of the deprecated _app_ctx_stack and
      _request_ctx_stack objects are removed. top still exists to give
      extensions more time to update, but it will be removed.
    • The FLASK_ENV environment variable, ENV config key, and app.env
      property are removed.
    • The session_cookie_name, send_file_max_age_default, use_x_sendfile,
      propagate_exceptions, and templates_auto_reload properties on app
      are removed.
    • The JSON_AS_ASCII, JSON_SORT_KEYS, JSONIFY_MIMETYPE, and
      JSONIFY_PRETTYPRINT_REGULAR config keys are removed.
    • The app.before_first_request and bp.before_app_first_request decorators
      are removed.
    • json_encoder and json_decoder attributes on app and blueprint, and the
      corresponding json.JSONEncoder and JSONDecoder classes, are removed.
    • The json.htmlsafe_dumps and htmlsafe_dump functions are removed.
    • Calling setup methods on blueprints after registration is an error instead of a
      warning. :pr:4997
  • Importing escape and Markup from flask is deprecated. Import them
    directly from markupsafe instead. :pr:4996

  • The app.got_first_request property is deprecated. :pr:4997

  • The locked_cached_property decorator is deprecated. Use a lock inside the
    decorated function if locking is needed. :issue:4993

  • Signals are always available. blinker>=1.6.2 is a required dependency. The
    signals_available attribute is deprecated. :issue:5056

  • Signals support async subscriber functions. :pr:5049

  • Remove uses of locks that could cause requests to block each other very briefly.
    :issue:4993

  • Use modern packaging metadata with pyproject.toml instead of setup.cfg.
    :pr:4947

  • Ensure subdomains are applied with nested blueprints. :issue:4834

  • config.from_file can use text=False to indicate that the parser wants a
    binary file instead. :issue:4989

  • If a blueprint is created with an empty name it raises a ValueError.
    :issue:5010

  • SESSION_COOKIE_DOMAIN does not fall back to SERVER_NAME. The default is not
    to set the domain, which modern browsers interpret as an exact match rather than
    a subdomain match. Warnings about localhost and IP addresses are also removed.
    :issue:5051

  • The routes command shows each rule's subdomain or host when domain
    matching is in use. :issue:5004

  • Use postponed evaluation of annotations. :pr:5071

v2.2.5

Compare Source

Released 2023-05-02

  • Update for compatibility with Werkzeug 2.3.3.
  • Set Vary: Cookie header when the session is accessed, modified, or refreshed.

v2.2.4

Compare Source

Released 2023-04-25

  • Update for compatibility with Werkzeug 2.3.

v2.2.3

Compare Source

Released 2023-02-15

  • Autoescape is enabled by default for .svg template files. :issue:4831
  • Fix the type of template_folder to accept pathlib.Path. :issue:4892
  • Add --debug option to the flask run command. :issue:4777

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 was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from a team as a code owner May 28, 2023 09:55
@renovate renovate bot changed the title chore: Update dependency flask to v2.3.2 [SECURITY] chore: Update dependency flask to v2.2.5 [SECURITY] May 28, 2023
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from 246e723 to b8a9fb9 Compare May 28, 2023 12:42
@renovate renovate bot changed the title chore: Update dependency flask to v2.2.5 [SECURITY] chore: Update dependency flask to v2.3.2 [SECURITY] Jun 18, 2023
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from b8a9fb9 to 3295b3c Compare June 18, 2023 08:01
@renovate renovate bot changed the title chore: Update dependency flask to v2.3.2 [SECURITY] chore: Update dependency flask to v2.2.5 [SECURITY] Jun 18, 2023
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from 3295b3c to f77e59f Compare June 18, 2023 10:06
@renovate renovate bot changed the title chore: Update dependency flask to v2.2.5 [SECURITY] chore: Update dependency flask to v2.3.2 [SECURITY] Aug 9, 2023
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from f77e59f to dd46e0a Compare August 9, 2023 14:37
@renovate renovate bot changed the title chore: Update dependency flask to v2.3.2 [SECURITY] chore: Update dependency flask to v2.2.5 [SECURITY] Aug 9, 2023
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from dd46e0a to d333cfc Compare August 9, 2023 17:43
@renovate renovate bot changed the title chore: Update dependency flask to v2.2.5 [SECURITY] chore: Update dependency flask to v2.3.3 [SECURITY] Sep 19, 2023
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from d333cfc to 41824eb Compare September 19, 2023 15:01
@renovate renovate bot changed the title chore: Update dependency flask to v2.3.3 [SECURITY] chore: Update dependency flask to v2.2.5 [SECURITY] Sep 19, 2023
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from 41824eb to 8c56581 Compare September 19, 2023 19:08
@renovate renovate bot changed the title chore: Update dependency flask to v2.2.5 [SECURITY] chore: Update dependency flask to v2.3.3 [SECURITY] Sep 26, 2023
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from 8c56581 to a406811 Compare September 26, 2023 12:28
@renovate renovate bot changed the title chore: Update dependency flask to v2.3.3 [SECURITY] chore: Update dependency flask to v2.2.5 [SECURITY] Sep 26, 2023
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from a406811 to d3e0594 Compare September 26, 2023 17:21
@renovate renovate bot changed the title chore: Update dependency flask to v2.2.5 [SECURITY] chore: Update dependency flask to v2.3.3 [SECURITY] Nov 16, 2023
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from d3e0594 to 5b585b9 Compare November 16, 2023 12:04
@renovate renovate bot changed the title chore: Update dependency flask to v2.3.3 [SECURITY] chore: Update dependency flask to v2.2.5 [SECURITY] Nov 16, 2023
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from 5b585b9 to 91fd5b0 Compare November 16, 2023 17:10
@renovate renovate bot changed the title chore: Update dependency flask to v2.2.5 [SECURITY] chore: Update dependency flask to v2.3.3 [SECURITY] Dec 3, 2023
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from 91fd5b0 to 54fc60b Compare December 3, 2023 12:08
@renovate renovate bot changed the title chore: Update dependency flask to v2.3.3 [SECURITY] chore: Update dependency flask to v2.2.5 [SECURITY] Dec 3, 2023
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from 54fc60b to b99de08 Compare December 3, 2023 16:24
@renovate renovate bot changed the title chore: Update dependency flask to v2.2.5 [SECURITY] chore: Update dependency flask to v2.3.3 [SECURITY] Jan 4, 2024
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch 2 times, most recently from de56ae3 to 6351ed8 Compare January 4, 2024 19:39
@renovate renovate bot changed the title chore: Update dependency flask to v2.3.3 [SECURITY] chore: Update dependency flask to v2.2.5 [SECURITY] Feb 17, 2024
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from c700323 to e9ab160 Compare February 17, 2024 18:29
@renovate renovate bot changed the title chore: Update dependency flask to v2.2.5 [SECURITY] chore: Update dependency flask to v2.3.3 [SECURITY] Feb 29, 2024
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch 2 times, most recently from 14de8ea to a6f18f5 Compare February 29, 2024 12:56
@renovate renovate bot changed the title chore: Update dependency flask to v2.3.3 [SECURITY] chore: Update dependency flask to v2.2.5 [SECURITY] Feb 29, 2024
@renovate renovate bot changed the title chore: Update dependency flask to v2.2.5 [SECURITY] chore: Update dependency flask to v2.3.3 [SECURITY] Mar 12, 2024
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from a6f18f5 to 4a2f386 Compare March 12, 2024 09:36
@renovate renovate bot changed the title chore: Update dependency flask to v2.3.3 [SECURITY] chore: Update dependency flask to v2.2.5 [SECURITY] Mar 12, 2024
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from 4a2f386 to dbd805b Compare March 12, 2024 13:26
@renovate renovate bot changed the title chore: Update dependency flask to v2.2.5 [SECURITY] chore: Update dependency flask to v2.3.3 [SECURITY] Mar 14, 2024
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from dbd805b to 77f7da6 Compare March 14, 2024 13:15
@renovate renovate bot changed the title chore: Update dependency flask to v2.3.3 [SECURITY] chore: Update dependency flask to v2.2.5 [SECURITY] Mar 14, 2024
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from 77f7da6 to fe75cc9 Compare March 14, 2024 16:20
@renovate renovate bot changed the title chore: Update dependency flask to v2.2.5 [SECURITY] chore: Update dependency flask to v2.3.3 [SECURITY] Mar 24, 2024
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from fe75cc9 to f1bcbd7 Compare March 24, 2024 13:20
@renovate renovate bot changed the title chore: Update dependency flask to v2.3.3 [SECURITY] chore: Update dependency flask to v2.2.5 [SECURITY] Mar 24, 2024
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from f1bcbd7 to 6735895 Compare March 24, 2024 15:37
@renovate renovate bot changed the title chore: Update dependency flask to v2.2.5 [SECURITY] chore: Update dependency flask to v2.2.5 [SECURITY] - autoclosed Apr 3, 2024
@renovate renovate bot closed this Apr 3, 2024
@renovate renovate bot deleted the renovate/pypi-flask-vulnerability branch April 3, 2024 13:16
@renovate renovate bot changed the title chore: Update dependency flask to v2.2.5 [SECURITY] - autoclosed chore: Update dependency flask to v2.2.5 [SECURITY] Apr 3, 2024
@renovate renovate bot reopened this Apr 3, 2024
@renovate renovate bot restored the renovate/pypi-flask-vulnerability branch April 3, 2024 16:30
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from 6735895 to 11299a3 Compare April 3, 2024 16:30
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from 11299a3 to aa4f2cb Compare April 14, 2024 10:04
@renovate renovate bot changed the title chore: Update dependency flask to v2.2.5 [SECURITY] chore: Update dependency flask to v2.3.3 [SECURITY] Apr 14, 2024
@renovate renovate bot force-pushed the renovate/pypi-flask-vulnerability branch from aa4f2cb to 4ff6e1a Compare April 14, 2024 13:51
@renovate renovate bot changed the title chore: Update dependency flask to v2.3.3 [SECURITY] chore: Update dependency flask to v2.2.5 [SECURITY] Apr 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants