Open
Conversation
…lnerabilities Add uv constraint-dependency to enforce tornado>=6.5 on Python 3.9+, resolving GHSA-7cx3-6m66-7c5m (CVE-2025-47287) and GHSA-8w49-h785-mj3c (CVE-2024-52804). Tornado 6.5 requires Python 3.9+, so the constraint is scoped with a version marker. Python 3.8 retains tornado 6.4.1 as no compatible patched version exists for that Python version. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Author
There was a problem hiding this comment.
Code Review: fix(deps): update tornado (high)
This PR correctly addresses two high-severity CVEs (CVE-2025-47287 and CVE-2024-52804) by constraining the transitive dependency tornado to >=6.5 on Python 3.9+.
Correctness
[tool.uv] constraint-dependenciesis the correct uv mechanism for constraining transitive packages without adding them as direct dependencies. Usingoverride-dependencieswould be too heavy-handed; the floor constraint is the right approach here.- The Python version marker
python_version>='3.9'is correctly scoped. Tornado 6.5 dropped Python 3.8 support, and uv normalises this topython_full_version >= '3.9'in the lockfile — this is expected behaviour, not a discrepancy. - The lockfile correctly resolves two independent tornado forks: 6.4.1 for
python_full_version < '3.9'and 6.5.4 forpython_full_version >= '3.9'. The resolution-markers in the lock file cover all cases exhaustively. src/viam/gen/was not touched. No runtime source files were modified.
Security
- Tornado is a transitive dependency (pulled in through ipykernel → jupyter_client in the dev dependency graph). It is not a direct runtime dependency of viam-sdk itself, so this change has zero impact on published package consumers and only affects the dev/test environment. This is the appropriate scope for the fix.
- All wheel hashes in the lockfile are present for both tornado entries.
No issues found. The change is minimal and correct. No fixes required.
Author
There was a problem hiding this comment.
Code Review: fix(deps): update tornado (high)
This PR correctly addresses two high-severity CVEs (CVE-2025-47287 and CVE-2024-52804) by constraining the transitive dependency tornado to >=6.5 on Python 3.9+.
Correctness
[tool.uv] constraint-dependenciesis the correct uv mechanism for constraining transitive packages without adding them as direct dependencies. Usingoverride-dependencieswould be too heavy-handed; the floor constraint is the right approach here.- The Python version marker
python_version>='3.9'is correctly scoped. Tornado 6.5 dropped Python 3.8 support, and uv normalises this topython_full_version >= '3.9'in the lockfile — this is expected behaviour, not a discrepancy. - The lockfile correctly resolves two independent tornado forks: 6.4.1 for
python_full_version < '3.9'and 6.5.4 forpython_full_version >= '3.9'. The resolution-markers in the lock file cover all cases exhaustively. src/viam/gen/was not touched. No runtime source files were modified.
Security
- Tornado is a transitive dependency (pulled in through ipykernel → jupyter_client in the dev dependency graph). It is not a direct runtime dependency of viam-sdk itself, so this change has zero impact on published package consumers and only affects the dev/test environment. This is the appropriate scope for the fix.
- All wheel hashes in the lockfile are present for both tornado entries.
No issues found. The change is minimal and correct. No fixes required.
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
tornado>=6.5constraint dependency (scoped to Python 3.9+) inpyproject.tomlto address two high-severity security advisoriesuv.lock— tornado updated from 6.4.1 to 6.5.4 for Python >= 3.9Advisories Resolved
Lockfiles Modified
uv.lockNotes
Tornado 6.5 requires Python >= 3.9. Since this project supports Python >= 3.8.1, the constraint is applied with a
python_version >= '3.9'marker. The Python < 3.9 resolution fork retains tornado 6.4.1 as no compatible patched version exists for that Python version. Python 3.8 reached end-of-life in October 2024.Resolves #1132