crewai - ✅(Solved) Fix [BUG] crewai 1.13.0 pins vulnerable uv 0.9.30 (GHSA-pjjw-68hj-v9mw) [1 pull requests, 1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
crewAIInc/crewAI#5520Fetched 2026-04-18 05:54:35
View on GitHub
Comments
1
Participants
2
Timeline
5
Reactions
0
Timeline (top)
closed ×1commented ×1cross-referenced ×1labeled ×1

crewai==1.13.0 pulls in uv==0.9.30 as a dependency, which is affected by GHSA-pjjw-68hj-v9mw (wheel RECORD path traversal on uninstall). The fix is available in uv >= 0.11.6.

Running pip-audit on any project using crewai surfaces this advisory:

Name Version ID Fix Versions


uv 0.9.30 GHSA-pjjw-68hj-v9mw 0.11.6

Advisory: https://github.com/advisories/GHSA-pjjw-68hj-v9mw

Could the uv constraint be bumped to >=0.11.6 so downstream projects don't trigger this advisory?

Root Cause

crewai==1.13.0 pulls in uv==0.9.30 as a dependency, which is affected by GHSA-pjjw-68hj-v9mw (wheel RECORD path traversal on uninstall). The fix is available in uv >= 0.11.6.

Running pip-audit on any project using crewai surfaces this advisory:

Name Version ID Fix Versions


uv 0.9.30 GHSA-pjjw-68hj-v9mw 0.11.6

Advisory: https://github.com/advisories/GHSA-pjjw-68hj-v9mw

Could the uv constraint be bumped to >=0.11.6 so downstream projects don't trigger this advisory?

Fix Action

Fix / Workaround

crewai should depend on uv >= 0.11.6 (the patched version) so that downstream security audits pass without needing to manually ignore this CVE.

PR fix notes

PR #5521: test: guard uv pin against GHSA-pjjw-68hj-v9mw regression (#5520)

Description (problem / solution / changelog)

Summary

Issue #5520 reported that crewai==1.13.0 pulled in uv==0.9.30, which is affected by GHSA-pjjw-68hj-v9mw (wheel RECORD path traversal on uninstall, fixed in uv 0.11.6). The dependency bump itself already landed on main:

  • lib/crewai/pyproject.toml now pins uv~=0.11.6 (commit 62484934c).
  • The workspace pyproject.toml declares uv>=0.11.6,<1 in [tool.uv].override-dependencies as a belt-and-suspenders guard for resolution across the workspace.

This PR adds a regression test so the fix cannot silently regress. The test parses both pyproject.toml files and asserts that:

  1. The crewai package's uv requirement admits 0.11.6 and excludes every probed vulnerable version below it (0.9.13, 0.9.30, 0.10.0, 0.11.0, 0.11.5, etc.).
  2. The workspace-level uv override, when present, likewise excludes pre-fix versions. If a future refactor removes the override entirely, the test skips with an explicit message so maintainers fall back on the package-level pin validated above.

I verified the test by:

  • Running it on main: both cases pass.
  • Temporarily reverting lib/crewai/pyproject.toml to the vulnerable uv~=0.9.13 pin: the test fails with a message naming GHSA-pjjw-68hj-v9mw, confirming it would have caught the original regression.

No production code changed.

Review & Testing Checklist for Human

  • Confirm the regression test's location under lib/crewai/tests/ matches where you'd like this kind of packaging/security assertion to live (vs. e.g. a workspace-level test suite).
  • Check that the workspace-lookup fallback (skipping when no [tool.uv].workspace is found) is acceptable for how you expect the crewai sdist/wheel to be tested downstream after being detached from the monorepo.
  • Re-run the full lib/crewai/tests suite locally (uv run pytest lib/crewai/tests -vv) to confirm no incidental interaction with existing tests — I only ran the new file because the local box isn't provisioned for the full suite.

Notes

  • I intentionally did not touch uv.lock; the bump is already reflected there from commit 62484934c.
  • The advisory link and issue number are embedded in the test docstrings so future maintainers hitting a failure immediately see the context.

Link to Devin session: https://app.devin.ai/sessions/8de8b13f8785486db7c63cc13eac9b58

<!-- CURSOR_SUMMARY -->

[!NOTE] Low Risk Low risk: adds only pytest coverage that parses pyproject.toml files to assert dependency bounds, without changing runtime code or packaging behavior.

Overview Adds lib/crewai/tests/test_dependency_constraints.py to guard against regression of the security-motivated uv pin for GHSA-pjjw-68hj-v9mw.

The new tests parse lib/crewai/pyproject.toml (and, when present, the workspace pyproject.toml [tool.uv].override-dependencies) to assert uv allows 0.11.6 and rejects representative versions below it, skipping the workspace check when running outside the monorepo or when the override is absent.

<sup>Reviewed by Cursor Bugbot for commit c91dc8598c076ecce3c799ce39a3d7acf57a81e9. Bugbot is set up for automated code reviews on this repo. Configure here.</sup>

<!-- /CURSOR_SUMMARY -->

Changed files

  • lib/crewai/tests/test_dependency_constraints.py (added, +147/-0)
RAW_BUFFERClick to expand / collapse

Description

crewai==1.13.0 pulls in uv==0.9.30 as a dependency, which is affected by GHSA-pjjw-68hj-v9mw (wheel RECORD path traversal on uninstall). The fix is available in uv >= 0.11.6.

Running pip-audit on any project using crewai surfaces this advisory:

Name Version ID Fix Versions


uv 0.9.30 GHSA-pjjw-68hj-v9mw 0.11.6

Advisory: https://github.com/advisories/GHSA-pjjw-68hj-v9mw

Could the uv constraint be bumped to >=0.11.6 so downstream projects don't trigger this advisory?

Steps to Reproduce

  1. Create a fresh virtualenv
  2. pip install crewai[anthropic]==1.13.0
  3. pip install pip-audit
  4. pip-audit
  5. See GHSA-pjjw-68hj-v9mw reported on uv 0.9.30

Expected behavior

crewai should depend on uv >= 0.11.6 (the patched version) so that downstream security audits pass without needing to manually ignore this CVE.

Screenshots/Code snippets

$ pip-audit -r requirements.txt Found 1 known vulnerability in 1 package Name Version ID Fix Versions


uv 0.9.30 GHSA-pjjw-68hj-v9mw 0.11.6

Operating System

Windows 11

Python Version

3.12

crewAI Version

1.13.0

crewAI Tools Version

N/A (not installed)

Virtual Environment

Venv

Evidence

Advisory: https://github.com/advisories/GHSA-pjjw-68hj-v9mw Affected package: uv 0.9.30 (pinned transitively by crewai 1.13.0) Fixed in: uv >= 0.11.6

The vulnerability allows a malicious wheel's RECORD file to reference paths outside the installation prefix, which uv would then delete on uninstall. While exploitation requires the user to install AND uninstall a crafted wheel, the fix is already available upstream and bumping the dependency constraint removes the advisory from downstream audits.

Possible Solution

Bump the uv constraint in crewai's dependencies to >=0.11.6 (or unpin it and rely on the caret/tilde range that includes 0.11.6+).

Additional context

This is a downstream request — the vulnerability is in uv, not in crewAI itself. However, since crewAI pins a pre-fix version of uv, every project depending on crewAI surfaces this advisory in their own security audits (pip-audit, Dependabot, Snyk, etc.).

For context, the exploitation path is narrow (requires installing AND uninstalling a crafted wheel), but teams running automated security gates are forced to either ignore the CVE manually or wait for this bump.

Thanks for maintaining crewAI!

extent analysis

TL;DR

Bumping the uv constraint in crewai's dependencies to >=0.11.6 is likely to fix the vulnerability issue reported by pip-audit.

Guidance

  • Verify the current version of uv installed by running pip show uv and check if it's indeed 0.9.30.
  • Consider bumping the uv constraint in crewai's dependencies to >=0.11.6 to remove the advisory from downstream audits.
  • If bumping the constraint is not feasible, teams may need to manually ignore the CVE in their security audits until the dependency is updated.
  • Review the advisory at https://github.com/advisories/GHSA-pjjw-68hj-v9mw for more information on the vulnerability and its exploitation path.

Example

No code snippet is necessary in this case, as the solution involves updating a dependency constraint rather than modifying code.

Notes

The vulnerability is in the uv package, not in crewAI itself, but crewAI's dependency on a pre-fix version of uv causes the advisory to be reported in downstream security audits.

Recommendation

Apply workaround: Bump the uv constraint in crewai's dependencies to >=0.11.6, as this will remove the advisory from downstream audits and prevent false positives in security scans.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

crewai should depend on uv >= 0.11.6 (the patched version) so that downstream security audits pass without needing to manually ignore this CVE.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING