Repository navigation
fix(deps): resolve pip-audit failures for tornado and pyasn1 - #146
Merged
Merged
Conversation
tornado 6.5.10 carries CVE-2026-115927, CVE-2026-116577 and CVE-2026-116578, fixed only in 6.6, which requires Python 3.11. The security floor is split by Python version, as for pillow and dnspython: 6.6 on 3.11+, the old 6.5.9 floor on 3.10, which stays exposed. Only the tornado blocks and content-hash were spliced into the lock. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HwkxN8YriHhdXBwMc4sd8h
Contributor
|
📦 Python package built successfully!
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #146 +/- ##
=======================================
Coverage 78.43% 78.43%
=======================================
Files 121 121
Lines 6920 6920
Branches 1005 1005
=======================================
Hits 5428 5428
Misses 1182 1182
Partials 310 310
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. |
|
🚀 Review App Deployment Started
|
pyasn1 0.6.4 carries CVE-2026-119194, CVE-2026-119195, CVE-2026-119196 and CVE-2026-119197, all fixed in 0.6.5, which still supports every Python the toolkit does. The existing floor in the transitive security block is raised in place. Only the pyasn1 block and content-hash were spliced into the lock.
m1so
approved these changes
Nov 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Audit - ProductionandAudit - Serverfailed twice:tk/servable-stored-dataframes(2026-10-29). Three tornado advisories were published on 2026-10-28. All three are fixed only in tornado 6.6, which requires Python 3.11, so the tornado security floor is split by Python version, as pillow and dnspython already are.No
ignore-vulnsentries are added.Audit: the
auditjob in.github/workflows/ci.yml:476runs on Python 3.11. It runspoetry export(--without dev,--extras server,--only dev), then pip-audit with--require-hashes --disable-pip, ignoring only PYSEC-2024-161 and PYSEC-2026-113. With this branch, all three exports are clean.Precedent
pyproject.toml: chore(deps): Address dependabot and pip-audit findings #111, chore(deps): Address pip-audit vulnerability findings #118, fix(deps): resolve pip-audit failures #133, fix(deps): resolve pip-audit failures for pillow, gitpython, certifi and black #143, fix(deps): audit the server extra and dev group and resolve their findings #144, fix(deps): resolve pip-audit failures for pymongo, dnspython, oauthlib and pylint #145.# X fixes <IDs>comment, plus(transitive via <parent>)for the newer entries.python_version, and 3.10 keeps the old one: pillow in fix(deps): resolve pip-audit failures for pillow, gitpython, certifi and black #143, dnspython in fix(deps): resolve pip-audit failures for pymongo, dnspython, oauthlib and pylint #145.content-hashchange (fix(deps): resolve pip-audit failures for pillow, gitpython, certifi and black #143–fix(deps): resolve pip-audit failures for pymongo, dnspython, oauthlib and pylint #145).ignore-vulnsentries are only for false positives with a written justification. Real findings are fixed instead.tornado
RedirectHandleropen redirect.< 6.6as vulnerable and 6.6 as the first patched release. There is no 6.5.x backport; 6.5.10 is the last 6.5 release.>=6.1/>=6.2.<7, but it only installs on 3.10, which stays on 6.5.10.web.authenticatedandweb.HTTPErroron a jupyter-serverAPIHandlerindeepnote_core/widget_assets.py. None of the 6.6 changes touch it:data_receivedchunk mergingRedirectHandler/StaticFileHandlerhardeningcheck_originchangescross_origin_protection, which is opt-in in 6.6HTTPServerRequest(start_line=...)deprecation, fixed in test code only (jupyter_server#1717).<7, like every other line in the block. The 6.6 notes saycross_origin_protectionis expected to become the default in 6.7. That is worth checking when 6.7 ships, given the Jupyter server runs withdisable_check_xsrf = True.pyasn1
>=0.1.3.>=0.4.6,<0.7.0.pyasn1>=0.6.4,<0.7floor from chore(deps): Address pip-audit vulnerability findings #118, so that floor is raised instead. A lock-only update would leave the floor below the vulnerable version. The<0.7cap stays; it also keeps out the encoder change queued for 0.7.0.google.oauth2.credentials.Credentialswith a bearer token, which parses no ASN.1.Lock file
tornadoblocks, thepyasn1block andcontent-hash.markers = "python_version == \"3.10\"".>= 3.11.poetry lockstill rewrites about 25 unrelated per-Python entries.pyproject.toml, the spliced lock's tornado and pyasn1 blocks and content-hash match exactly. Every other difference is that pre-existing drift.Checks
poetry check --lockpasses.--require-hashes --disable-pip, ignoring only PYSEC-2024-161 and PYSEC-2026-113), on the Production, Server and Dev exports:uv pip compile pyproject.toml --extra server, as in Wheel Install Check:-W error::DeprecationWarning:tornado.RSASigner/RSAVerifierloading a PKCS#8 key.tests/unit/test_widget_assets.py: 38 passed.Not in this PR
🤖 Generated with Claude Code
https://claude.ai/code/session_01HwkxN8YriHhdXBwMc4sd8h
Summary by CodeRabbit