Skip to content

Fix image vulnerabilities and add Gitleaks for v1.0.1 - #27

Merged
senyo888 merged 1 commit into
mainfrom
bella/pillow-security-update
Oct 31, 2026
Merged

senyo888 merged 1 commit into
mainfrom
bella/pillow-security-update

Conversation

@senyo888

Copy link
Copy Markdown
Owner

Scope

Remediate the 41 reported Pillow Dependabot alerts, bound image processing in all maintenance-tool consumers, and add local/CI secret scanning. Prepare the v1.0.1 release notes, including previously merged changes since v1.0.0.

Reason

Pillow 12.3.0 falls inside every reported affected range; 13.0.0 is the first patched version for all 41 alerts. Preview consumers decoded frames before enforcing their limits. The shared image boundary now checks GIF structure, frame counts and rectangles before decoder allocation, checks static image format and geometry, and bounds header resize dimensions.

Files affected

  • requirements-dev.txt; shared image helper and three image consumers.
  • Gitleaks configuration, scanner wrapper, and security workflow.
  • Image/scanner regression tests and catalogue validation workflow.
  • README, contributing/maintenance guidance, and v1.0.1 release notes.

Runtime impact

Development and CI tooling only. Pet artwork, metadata, hashes, catalogue membership, installed-pet behavior, installer links and v2 contracts are unchanged by this patch. The exact Áureo maintainer exception remains enforced.

UI impact

No website or preview bytes change. Public documentation describes the new tooling and release scope.

Migration impact

Developers reinstall requirements-dev.txt in Python 3.12+ and install Gitleaks 8.30.1. Existing pets need no reinstallation. Catalogue and sprite versions remain 2.

Validation performed

  • 22 image safety regressions, including malformed GIF extension parser disagreement and rejection before decoder/resize calls.
  • 3 Gitleaks regressions: clean control, untracked secrets despite inline allow comments, and deleted secrets introduced only by merge commits; output redaction verified.
  • 9 existing maintainer-exception tests.
  • Catalogue validation, all 16 GIF/PNG pairs, previews rendered from all 8 actual atlases, and the original seven-pet header function pipeline.
  • Pillow 13.0.0 checked against all 41 saved advisory ranges; pip check passed.
  • Full available history and public working snapshot: no Gitleaks findings.
  • Actionlint, Python 3.12 grammar, project privacy/preflight and staged whitespace checks passed.

Local runtime validation used Python 3.14.5. PR CI runs the catalogue/image checks on Python 3.12 and installs a checksum-verified Gitleaks binary. Remote checks remain pending at PR creation. The historical V1 header CLI still deliberately rejects an eight-pet composition; its compatible seven-pet function pipeline passed.

Rollback safety

No package migration or artwork rewrite. Prefer a forward fix if a tooling regression appears; reverting the Pillow pin would restore the reported vulnerable dependency. Publish v1.0.1 only after checks and merge, then verify Dependabot alert closure on main.

Change type: documentation and validation/tooling only. Pet package and artwork-rights checklists are not applicable.

Upgrade Pillow to 13.0.0 for all 41 reported dependency alerts. Bound GIF and static image inputs before decoding, cover malformed extension and merge-history bypasses, and add Gitleaks checks for local use and CI.

Preserve pet packages and v2 contracts, document validation, and prepare the v1.0.1 maintenance release notes.
@coderabbitai

coderabbitai Bot commented Oct 31, 2026

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f92365c6-5076-4e2b-b6aa-22c6df5777d0
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@senyo888
senyo888 merged commit 657b234 into main Oct 31, 2026
3 checks passed
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.

1 participant