Skip to content

[Snyk] Security upgrade pillow from 9.5.0 to 12.3.0#46

Open
deargvp1 wants to merge 1 commit into
mainfrom
snyk-fix-17ca826367fa31f09f9000f0ac15119a
Open

[Snyk] Security upgrade pillow from 9.5.0 to 12.3.0#46
deargvp1 wants to merge 1 commit into
mainfrom
snyk-fix-17ca826367fa31f09f9000f0ac15119a

Conversation

@deargvp1

@deargvp1 deargvp1 commented Jul 6, 2026

Copy link
Copy Markdown
Owner

snyk-top-banner

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

Snyk changed the following file(s):

  • appengine/standard_python3/bundled-services/mail/wsgi/requirements.txt
⚠️ Warning
appengine-python-standard 2.0.1 requires Pillow, which is not installed.

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.


Summary by cubic

Pin pillow to 12.3.0+ in the mail WSGI service’s requirements to remove known vulnerabilities and ensure the library is installed. This satisfies appengine-python-standard’s dependency and keeps image handling secure.

Written for commit 64995ae. Summary will update on new commits.

Review in cubic

@deargvp1

deargvp1 commented Jul 6, 2026

Copy link
Copy Markdown
Owner Author

Merge Risk: High

This major version upgrade from Pillow 9.5.0 to 12.3.0 includes several significant breaking changes that require code modifications and environment updates.

Key Breaking Changes:

  • Python Version Support: Support for Python 3.7, 3.8, and 3.9 has been dropped across versions 10.0.0, 11.0.0, and 12.0.0. Your environment must be using at least Python 3.10. [2, 3, 9]
  • Removed Image Constants: In version 10.0.0, many deprecated constants were removed and replaced by enums. This is a frequent cause of breakage. For example:
    • PIL.Image.ANTIALIAS is removed. Use PIL.Image.Resampling.LANCZOS instead. [15]
    • PIL.Image.CUBIC is removed. Use PIL.Image.Resampling.BICUBIC instead. [14]
  • API and Module Removals:
    • v10.0.0: im.category attribute, support for Tk/Tcl 8.4, and several JpegImagePlugin and ImagePalette parameters have been removed. [6, 11]
    • v11.0.0: PyAccess, Image.USE_CFFI_ACCESS, and the internal PSFile class were removed. [3]
    • v12.0.0: Several internal functions like ImageFile.raise_oserror and IptcImageFile helpers were removed. [2]

Recommendation:

This upgrade requires significant developer action. Before merging, you must:

  1. Ensure your project is running on Python 3.10 or newer.
  2. Review your code for usage of removed constants like ANTIALIAS and CUBIC and update them to use the new Image.Resampling enum values.
  3. Thoroughly test all image processing functionality, as other less common API removals may affect your application.

Source: Pillow Changelog [1, 5]

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

@coderabbitai

coderabbitai Bot commented Jul 6, 2026

Copy link
Copy Markdown

Important

Review skipped

Ignore keyword(s) in the title.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: b1887c94-24dd-44b4-abfe-3828dafd0453

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch snyk-fix-17ca826367fa31f09f9000f0ac15119a

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

Re-trigger cubic

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds a pinned dependency on pillow>=12.3.0 in requirements.txt to mitigate a security vulnerability. However, since version 12.3.0 is currently unreleased on PyPI, this change will cause pip install to fail. It is recommended to downgrade the pinned version to >=12.2.0, which is the latest stable release containing the necessary security patches.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@@ -1 +1,2 @@
appengine-python-standard>=0.2.3 No newline at end of file
appengine-python-standard>=0.2.3
pillow>=12.3.0 # not directly required, pinned by Snyk to avoid a vulnerability No newline at end of file

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

Pillow version 12.3.0 is currently unreleased on PyPI (the latest stable release is 12.2.0). Pinning >=12.3.0 will cause pip install to fail because it cannot resolve the dependency. To avoid breaking the build while still resolving the security vulnerabilities, please downgrade the pin to >=12.2.0, which is the latest stable release on PyPI and includes the security patches.

pillow>=12.2.0 # not directly required, pinned by Snyk to avoid a vulnerability

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