Skip to content

fix(security): bump pillow, cryptography, pypdf, pyasn1, httplib2, setuptools - #1350

Merged
mikahanninen merged 1 commit into
masterfrom
fix/security-aug2026
Aug 23, 2026
Merged

fix(security): bump pillow, cryptography, pypdf, pyasn1, httplib2, setuptools#1350
mikahanninen merged 1 commit into
masterfrom
fix/security-aug2026

Conversation

@mikahanninen

Copy link
Copy Markdown
Collaborator

Summary

Clears all 158 open Dependabot alerts, which collapse to 7 distinct CVEs duplicated across the 13 lock files. No criticals.

CVE Dependency Severity Patched
CVE-2026-59205 pillow HIGH ≥12.3.0
CVE-2026-59200 pillow HIGH ≥12.3.0
CVE-2026-69247 cryptography HIGH ≥50.0.0
CVE-2026-59884 pyasn1 HIGH ≥0.6.4
CVE-2026-59939 httplib2 HIGH ≥0.32.0
CVE-2026-71870 pypdf MEDIUM ≥6.15.0
CVE-2026-59890 setuptools MEDIUM ≥83.0.0

Releases (patch, per the cascade policy)

Package Version Reason
rpaframework-core 13.0.3 pillow (direct)
rpaframework-pdf 11.0.2 pypdf (direct)
rpaframework-recognition 8.0.2 pillow (direct)
rpaframework-google 12.0.1 pyasn1 + httplib2
rpaframework-sema4ai 1.1.1 setuptools, cryptography (direct)
rpaframework 33.0.1 pillow + cryptography (direct), core floor

Release order: core → pdf → main; the independent packages in any order.

Two things reviewers should know

1. main's rpaframework-core floor is >=13.0.2, not >=13.0.3. main resolves core from PyPI, so pointing it at the unreleased 13.0.3 makes the lock unsatisfiable:

Because only rpaframework-core<=13.0.2 is available and rpaframework==33.0.1
depends on rpaframework-core>=13.0.3 ... requirements are unsatisfiable

13.0.2 is also the semantically correct floor — it carries the RPA.Windows locator fixes main depends on. Core 13.0.3 only bumps pillow, which main already constrains directly. If the tighter floor is wanted, it needs a follow-up PR after core 13.0.3 is published.

2. Locks were updated with uv lock --upgrade-package. Plain uv lock silently preserves existing transitive pins — it reports "Resolved N packages" with no "Updated" line and looks correct while leaving vulnerable versions in place. Every dep was verified against its patched minimum across all 13 lock files afterward.

Test plan

  • packages/core — 150 passed
  • packages/main — 626 passed
  • packages/pdf — 86 passed
  • packages/recognition — 48 passed
  • All 13 uv.lock files verified at or above every patched minimum

🤖 Generated with Claude Code

https://claude.ai/code/session_01R5fd658SbZtHYC6nGpE1H5

…tuptools

Clears all 158 open Dependabot alerts, which collapse to 7 distinct CVEs
duplicated across the 13 lock files.

- pillow >=12.3.0    HIGH  CVE-2026-59205 heap OOB write in ImageCmsTransform.apply()
                     HIGH  CVE-2026-59200 decompression bomb in PdfParser.PdfStream.decode()
- cryptography >=50.0.0 HIGH CVE-2026-69247 Bleichenbacher oracle in PKCS#7 EnvelopedData
- pyasn1 >=0.6.4     HIGH  CVE-2026-59884 BER/CER/DER decoder DoS
- httplib2 >=0.32.0  HIGH  CVE-2026-59939 decompression bomb DoS
- pypdf >=6.15.0     MED   CVE-2026-71870 large memory use for /ToUnicode streams
- setuptools >=83.0.0 MED  CVE-2026-59890 MANIFEST.in exclusion bypass

Patch releases per the cascade policy: core 13.0.3, pdf 11.0.2,
recognition 8.0.2, google 12.0.1, sema4ai 1.1.1, main 33.0.1.

Also raises main's rpaframework-core floor to >=13.0.2 so a fresh install
cannot resolve a core predating the RPA.Windows locator fixes. The floor stays
at a published version deliberately: main resolves core from PyPI, so pointing
it at the unreleased 13.0.3 makes the lock unsatisfiable.

Locks updated with `uv lock --upgrade-package` — plain `uv lock` silently
preserves existing transitive pins. Verified every dep meets its patched
minimum across all 13 lock files.

Tests: core 150, main 626, pdf 86, recognition 48 — all passing.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01R5fd658SbZtHYC6nGpE1H5
@github-actions

Copy link
Copy Markdown

Wheel artifact

Built from commit 7a1f9e6 — download from the workflow run (Artifacts section at the bottom of the page).

Artifact name: rpaframework-wheel (retained 14 days)

@mikahanninen
mikahanninen merged commit 6e45621 into master Aug 23, 2026
66 checks passed
@mikahanninen
mikahanninen deleted the fix/security-aug2026 branch August 23, 2026 17:32
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