e2b-dev / e2b-dev/desktop

Published e2b-desktop 2.3.0 wheel pins `pillow<12.0.0` while source already requires `^12.0.0` (forces vulnerable Pillow)

Open
#191 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.5k
Forks
184
Avg merge
12h 6m
Merged PRs (30d)
7

Description

Summary

The e2b-desktop 2.3.0 artifacts published to PyPI declare a Pillow upper bound that contradicts the source repo:

These ranges are mutually exclusive, so the published wheel was clearly not built from current main. Most likely 2.3.0 was tagged/published before the Pillow bump in the source was merged (or without re-running the publish workflow afterwards).

Why this matters: forces installs onto a Pillow with two open High-severity CVEs

Because e2b-desktop 2.3.0 caps pillow<12.0.0, any project that depends on it gets pulled back to Pillow 11.x, which is affected by:

Dependabot/Renovate flags both alerts on any project that transitively depends on e2b-desktop 2.3.0, with no clean upgrade path because of the cap.

Today the only workaround is something like tool.uv.override-dependencies = ["pillow>=12.2.0"], which is uv-only and silently bypasses upstream constraints.

Suggested fix

Cut a patch release (e2b-desktop 2.3.1) from current main so the published wheel reflects the actual pillow = "^12.0.0" constraint and downstream users can pick up the patched Pillow >= 12.2.0.

Reproduction

pip download --no-deps e2b-desktop==2.3.0
unzip -p e2b_desktop-2.3.0-py3-none-any.whl '*.dist-info/METADATA' | grep -i pillow
# Requires-Dist: pillow (<12.0.0,>=11.1.0)

Thanks!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with packages/python-sdk/pyproject.toml and compare its Pillow constraint with the 2.3.0 wheel metadata using the pip download and unzip commands in the issue. Then inspect the repository's publishing workflow and release process. Done means a patch release is published whose metadata permits the current patched Pillow range.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, release, security
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.