Skip to content

security: upgrade transitive dependencies to fix 100 Dependabot vulnerabilities#1318

Merged
mikahanninen merged 2 commits into
masterfrom
security/fix-dependabot-vulnerabilities
Mar 6, 2026
Merged

security: upgrade transitive dependencies to fix 100 Dependabot vulnerabilities#1318
mikahanninen merged 2 commits into
masterfrom
security/fix-dependabot-vulnerabilities

Conversation

@mikahanninen
Copy link
Copy Markdown
Collaborator

@mikahanninen mikahanninen commented Mar 2, 2026

Summary

  • Upgrade transitive dependencies across all packages (except assistant) to fix 100 Dependabot security alerts
  • Fix compatibility with jsonpath-ng 1.8.0 API change in RPA.JSON library

Vulnerability Fixes

Package Previous Updated Severity
h11 < 0.16.0 0.16.0 Critical (CVE-2025-43859)
cryptography 46.0.4 46.0.5 High
pypdf 6.6.2 6.7.5 High
pillow 12.1.0 12.1.1 High
urllib3 2.5.0 2.5.0 (already compliant for Python 3.10+) Various

Code Changes

  • packages/main/src/RPA/JSON.py: Updated RPAFilter.filter() to use indices tuple instead of deprecated index attribute (jsonpath-ng 1.8.0 breaking change)

Skipped

  • assistant package: Blocked by robocorp-flet httpx/h11 version conflicts (~9 alerts will remain until upstream is updated)

Test plan

  • All Python tests pass (577 passed)
  • CI pipeline passes
  • pip-audit check in CI confirms no remaining vulnerabilities

🤖 Generated with Claude Code


Note

Medium Risk
Medium risk due to broad dependency/lockfile upgrades that can change runtime behavior across multiple packages; the only code change is small but touches JSONPath filtering logic.

Overview
Security maintenance PR that refreshes dependency resolution across the repo (primarily uv.lock updates) to pick up patched transitive versions addressing a large set of Dependabot alerts (e.g., h11, cryptography, pypdf, pillow). The assistant package is intentionally left out due to upstream httpx/h11 constraints.

Also updates packages/main/src/RPA/JSON.py (RPAFilter.filter()) to adapt to the jsonpath-ng 1.8.0+ breaking change by using the indices tuple instead of the deprecated index attribute when converting numeric indices to dict keys.

Written by Cursor Bugbot for commit 485c786. This will update automatically on new commits. Configure here.

mikahanninen and others added 2 commits March 2, 2026 14:57
Run uv lock --upgrade on all packages (except assistant) to fix:
- h11 CVE-2025-43859 (critical)
- urllib3, cryptography, pillow, pypdf vulnerabilities

Key upgrades:
- cryptography 46.0.4 -> 46.0.5
- pypdf 6.6.2 -> 6.7.5
- h11 to 0.16.0
- pillow 12.1.0 -> 12.1.1

Also fix compatibility with jsonpath-ng 1.8.0 which changed the Index
class API from 'index' attribute to 'indices' tuple.

Skipped: assistant (blocked by robocorp-flet httpx/h11 conflicts)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fix upper-bound version constraints that were blocking secure versions:
- packages/main: cryptography>=44.0.1,<45 -> >=46.0.5
- packages/recognition: pillow >=10.2.0,<12.0.0 -> >=10.2.0 (allows 12.1.1 on Python 3.10+)
- packages/pdf: pypdf >=6.6.2 -> >=6.7.5

Fix sema4ai cryptography via override-dependencies since robocorp-vault 1.3.9
hard-caps cryptography<46.0.0:
- packages/sema4ai: add override-dependencies = ["cryptography>=46.0.5"]

Add recognition and pdf as local uv sources in root pyproject.toml so the
root uv.lock resolves updated constraints (pillow 12.1.1 for Python >= 3.10).

Regenerate lock files for main, recognition, sema4ai, and root.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@mikahanninen mikahanninen merged commit e91f35c into master Mar 6, 2026
93 checks passed
@mikahanninen mikahanninen deleted the security/fix-dependabot-vulnerabilities branch March 6, 2026 17:02
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