fix: remove vulnerable bleach dependency - #871
Conversation
Pin nbconvert to the immutable upstream patch that replaces the end-of-life Bleach dependency with nh3 while retaining notebook support. Regenerate the lockfile so Bleach is absent from resolved environments. Signed-off-by: Nabin Mulepati <nmulepati@nvidia.com>
Greptile SummaryThe PR removes Bleach from the notebook dependency graph by pinning nbconvert to an immutable upstream commit that uses nh3.
|
| Filename | Overview |
|---|---|
| pyproject.toml | Adds the immutable nbconvert Git source and removes the direct Bleach notebook constraint without an eligible follow-up defect. |
| uv.lock | Resolves nbconvert from the pinned commit, adds nh3, and removes Bleach and its unused transitive dependencies. |
Reviews (2): Last reviewed commit: "Merge branch 'main' into codex/fix-bleac..." | Re-trigger Greptile
Code Review — PR #871:
|
📋 Summary
Remove the end-of-life Bleach package from the notebook dependency graph to address the email-linkification ReDoS reported as BDSA-2026-15483. Until nbconvert publishes the replacement, pin its immutable upstream patch commit so notebook support is retained with
nh3as the sanitizer.🔗 Related Issue
Addresses BDSA-2026-15483 from the dependency security scan. Upstream tracking: jupyter/nbconvert#2289 and jupyter/nbconvert#2300.
🔄 Changes
1fab6813f44f89017e7bcad27578571447b5b9c2, which replaces Bleach withnh3.uv.lockwithnh30.3.6 and without Bleach.🔍 Attention Areas
pyproject.toml— this is a temporary immutable Git source pin to an upstream draft PR and should return to a PyPI release after the fix is published.🧪 Testing
make testpasses (not run; the change is isolated to the notebook dependency group).venv/bin/pytest packages/data-designer/tests/docs -q— 39 passeduv lock --check --offlineuv.lockand the resolved Python environment✅ Checklist