Skip to content

[Snyk] Fix for 2 vulnerabilities#9

Open
dan-storable wants to merge 1 commit intomasterfrom
snyk-fix-4a52d0668f92a449297709772f859746
Open

[Snyk] Fix for 2 vulnerabilities#9
dan-storable wants to merge 1 commit intomasterfrom
snyk-fix-4a52d0668f92a449297709772f859746

Conversation

@dan-storable
Copy link

snyk-top-banner

Snyk has created this PR to fix 2 vulnerabilities in the pip dependencies of this project.

Snyk changed the following file(s):

  • example/requirements.txt
⚠️ Warning
zappa 0.58.0 requires werkzeug, which is not installed.
botocore 1.33.13 has requirement urllib3<1.27,>=1.25.4; python_version < "3.10", but you have urllib3 2.0.7.

Breaking Change Risk

Merge Risk: High

Notice: This assessment is enhanced by AI.


Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.
  • This PR was automatically created by Snyk using the credentials of a real user.
  • Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic


Learn how to fix vulnerabilities with free interactive lessons:

🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

@dan-storable
Copy link
Author

Merge Risk: High

This is a major version upgrade for both Flask and its core dependency, Werkzeug. The upgrade introduces significant breaking changes that require code modifications and thorough testing.

Key Breaking Changes:

Flask (2.2.5 → 3.1.3):

  • Dependency Update: Flask 3.0 requires Werkzeug 3.0 or newer, which contains its own set of breaking changes. [1, 4]
  • API Removals: Several functions and parameters have been removed and must be replaced:
    • config.from_json() is replaced by config.from_file(..., load=json.load). [3, 4]
    • safe_join() is removed; use werkzeug.utils.safe_join() instead. [3, 4]
    • total_seconds() is removed; use timedelta.total_seconds() instead. [3, 4]
  • Python Support: Support for Python 3.7 and 3.8 has been dropped. [4, 5]

Werkzeug (2.2.3 → 3.1.6):

  • Password Hashing: The default method for generate_password_hash() has changed to scrypt. [5] Applications using this function for password verification without explicitly setting the method will fail to verify existing passwords.
  • Test Client: The test client no longer returns a tuple. Code that accesses response data via index (e.g., response[0]) will break and must be updated to use properties on the TestResponse object. [5]
  • URL Module: The werkzeug.urls module is deprecated. [5, 10]

Recommendation: This upgrade requires developer action. Pay close attention to password verification logic if using generate_password_hash. Update test suites to handle the new TestResponse object. Replace all removed Flask APIs with their modern equivalents. Ensure your environment is running Python 3.9 or newer.

Source: Flask Changelog, Werkzeug Changelog

Notice 🤖: This content was augmented using artificial intelligence. AI-generated content may contain errors and should be reviewed for accuracy before use.

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.

2 participants