Skip to content

chore(deps): bump nltk from 3.9.4 to 3.10.3 in /envs/textarena_env - #1116

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/envs/textarena_env/nltk-3.10.3
Open

chore(deps): bump nltk from 3.9.4 to 3.10.3 in /envs/textarena_env#1116
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/envs/textarena_env/nltk-3.10.3

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 1, 2026

Copy link
Copy Markdown
Contributor

Bumps nltk from 3.9.4 to 3.10.3.

Release notes

Sourced from nltk's releases.

v3.10.3

Version 3.10.3 2026-08-12

  • docs: wrap Chat-80 HOWTO output
  • Sandbox Stanford JAR execution to nltk_data directories
  • Harden path-traversal / file-I/O sandbox: close write-side symlink TOCTOU + shared-temp squat, lock the cluster with a living audit (CWE-22/59/377)
  • Extend algorithmic-complexity DoS hardening: repo-wide sweep + two-string distances (CWE-407/CWE-400)
  • Bound unbounded-work DoS in parsers and grammar transforms (CWE-407/674/835)
  • fix(security): sandbox MaltParser's Java execution (CVE-2026-12252, CVE-2026-12841)
  • fix(security): trust the system temp dir only when it is private (CWE-377/CWE-378)
  • fix(security): validate corpus-reader roots against the data sandbox (CWE-73)
  • fix(security): validate per-call java() options and replace the -XX:/-D allowlist with a minimal one (CWE-88)
  • Additional security hardening (CWE-407, CWE-426, CWE-427, CWE-502, CWE-59, CWE-776, CWE-918)

Thanks to the following contributors to 3.10.3: Mohammad Favas S, leduckhuong, Ziyu Lin, dougtrainer28-cmyk, Chaitanya Kadian, 0xRenSec, Arpit Jain, Jace, nguyencanhthuong, Liling Tan, medimedi, Eric Kafe.

What's Changed

New Contributors

Full Changelog: nltk/nltk@v3.10.2...v3.10.3

v3.10.3-rc1

Version 3.10.3 2026-08-12

  • docs: wrap Chat-80 HOWTO output
  • Sandbox Stanford JAR execution to nltk_data directories
  • Harden path-traversal / file-I/O sandbox: close write-side symlink TOCTOU + shared-temp squat, lock the cluster with a living audit (CWE-22/59/377)
  • Extend algorithmic-complexity DoS hardening: repo-wide sweep + two-string distances (CWE-407/CWE-400)
  • Bound unbounded-work DoS in parsers and grammar transforms (CWE-407/674/835)
  • fix(security): sandbox MaltParser's Java execution (CVE-2026-12252, CVE-2026-12841)
  • fix(security): trust the system temp dir only when it is private (CWE-377/CWE-378)
  • fix(security): validate corpus-reader roots against the data sandbox (CWE-73)
  • fix(security): validate per-call java() options and replace the -XX:/-D allowlist with a minimal one (CWE-88)
  • Additional security hardening (CWE-407, CWE-426, CWE-427, CWE-502, CWE-59, CWE-776, CWE-918)

Thanks to the following contributors to 3.10.3: Mohammad Favas S, leduckhuong, Ziyu Lin, dougtrainer28-cmyk, Chaitanya Kadian, 0xRenSec, Arpit Jain, Jace, nguyencanhthuong, Liling Tan, medimedi, Eric Kafe.

What's Changed

... (truncated)

Changelog

Sourced from nltk's changelog.

Version 3.10.3 2026-08-12

  • docs: wrap Chat-80 HOWTO output
  • Sandbox Stanford JAR execution to nltk_data directories
  • Harden path-traversal / file-I/O sandbox: close write-side symlink TOCTOU + shared-temp squat, lock the cluster with a living audit (CWE-22/59/377)
  • Extend algorithmic-complexity DoS hardening: repo-wide sweep + two-string distances (CWE-407/CWE-400)
  • Bound unbounded-work DoS in parsers and grammar transforms (CWE-407/674/835)
  • fix(security): sandbox MaltParser's Java execution (CVE-2026-12252, CVE-2026-12841)
  • fix(security): trust the system temp dir only when it is private (CWE-377/CWE-378)
  • fix(security): validate corpus-reader roots against the data sandbox (CWE-73)
  • fix(security): validate per-call java() options and replace the -XX:/-D allowlist with a minimal one (CWE-88)
  • Additional security hardening (CWE-407, CWE-426, CWE-427, CWE-502, CWE-59, CWE-776, CWE-918)

Thanks to the following contributors to 3.10.3: Mohammad Favas S, leduckhuong, Ziyu Lin, dougtrainer28-cmyk, Chaitanya Kadian, 0xRenSec, Arpit Jain, Jace, nguyencanhthuong, Liling Tan, medimedi, Eric Kafe.

Version 3.10.2 2026-08-05

  • Remove inisec.py and document PYTHONSAFEPATH instead
  • Skip draft step in release workflow
  • Fix symlink escape in FramenetCorpusReader (CWE-59)
  • Guard tempfile.gettempdir() when building pathsec allowed roots
  • add tests for transitive_closure

Thanks to the following contributors to 3.10.2: Litesh Ghute, Eric Kafe, Evan Kiefer, tarann26 and Rav Singh Chandan

Version 3.10.1 2026-07-29

  • Expand ~ in env-var paths
  • Validate types after WordNet app pickle deserialization
  • Fix uncontrolled search path in HunposTagger
  • Use exact thirds in masi_distance
  • Avoid retaining bllip import exceptions
  • Fix word_tokenize: pad opening single quote before multi-letter words.
  • Implement Tree.pformat_latex_forest.
  • Prevent module hijacking in inline imports.
  • Fix ReDoS in TweetTokenizer URL and email regexes.

Thanks to the following contributors to 3.10.1: Abhinav, Litesh Ghute, Eric Kafe, Eryk Kaźmierczak, Selim C., Muhtasim Munif Fahim, Triniti K., and Tom Y. Mitich.

Version 3.10.0 2026-06-11

  • Enforce the stricter nltk.pathsec security policy by default
  • Document the new security model and migration guidance
  • Harden resource loading against path traversal and SSRF/DNS-rebinding
  • Harden downloader path handling and block XML entity expansion
  • Close remaining corpus-reader security edge cases
  • Replace unsafe exec() usage in the utility CLI

... (truncated)

Commits
  • 303f6e2 Prepare release 3.10.3 (#3745)
  • cf2aaac Merge pull request #3744 from alvations/ci-guard-open
  • 6cd8320 test: robustness on Python 3.14 / 3.14t CI (UnicodeDecodeError + timing flake)
  • e965330 fix: perceptron save_to_json breaks on Windows (os.open can't fd-open a direc...
  • df1bb4c test: make pathsec security tests platform-independent (fix Linux/Windows CI)
  • 0e5c7be ci: guard against un-sandboxed open() in sandbox-sensitive modules (#3740)
  • 5017826 Merge commit from fork
  • 40d0f06 Triple-check hardening: perceptron TOCTOU squat, pathsec fd-leak, bcp47 entit...
  • 483c5fe Harden path-traversal / file-I/O sandbox: close write-side symlink TOCTOU + s...
  • 722778f Merge commit from fork
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Note

Low Risk
Lockfile-only dependency bump with security fixes; possible behavior shifts from NLTK 3.10’s stricter path/sandbox defaults when downloading or reading NLTK data.

Overview
Updates envs/textarena_env/uv.lock to resolve NLTK 3.9.4 → 3.10.3 (no pyproject.toml change; existing nltk>=3.9.3 still satisfies the new pin).

The lock refresh also pulls in defusedxml as a new NLTK dependency and includes incidental resolver/metadata tweaks for other locked packages (e.g. pandas, secretstorage dependency markers).

For textarena_env, NLTK is used at runtime to download words and averaged_perceptron_tagger_eng when TEXTARENA_DOWNLOAD_NLTK is enabled—this bump mainly delivers upstream security and sandbox hardening from the 3.10.x line rather than app code changes.

Reviewed by Cursor Bugbot for commit 89a31c9. Bugbot is set up for automated code reviews on this repo. Configure here.

Bumps [nltk](https://github.com/nltk/nltk) from 3.9.4 to 3.10.3.
- [Release notes](https://github.com/nltk/nltk/releases)
- [Changelog](https://github.com/nltk/nltk/blob/develop/ChangeLog)
- [Commits](nltk/nltk@3.9.4...v3.10.3)

---
updated-dependencies:
- dependency-name: nltk
  dependency-version: 3.10.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added Dependencies python:uv Pull requests that update python:uv code labels Sep 1, 2026
@burtenshaw burtenshaw added environment size: small Small pull request labels Sep 1, 2026 — with Cursor
@bot-ci-comment

bot-ci-comment Bot commented Sep 1, 2026

Copy link
Copy Markdown

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 89a31c9. Configure here.

sdist = { url = "https://files.pythonhosted.org/packages/e0/e6/fe51d2bb1a3b446f59c5c8165999a9fee208bc346af90a7cbf7657bc0d75/nltk-3.10.3.tar.gz", hash = "sha256:bb9327a461c3811c2fa4900e03840401f2126adfb30c0072827c433bd2444ea4", size = 5137152, upload-time = "2026-08-12T23:46:37.258Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/9d/91/04e965f8e717ba0ab4bdca5c112deeab11c9e750d94c4d4602f050295d39/nltk-3.9.4-py3-none-any.whl", hash = "sha256:f2fa301c3a12718ce4a0e9305c5675299da5ad9e26068218b69d692fda84828f", size = 1552087, upload-time = "2026-03-24T06:13:38.47Z" },
{ url = "https://files.pythonhosted.org/packages/b6/6d/ebd2af4640b12168fdf0cb74b6118df2f32a2f62ec7e0c06fbfd80706639/nltk-3.10.3-py3-none-any.whl", hash = "sha256:ff9598a8e20518ee0d557745890cc4435b9578489e2dcbc69c4f81fa060caf7c", size = 1798643, upload-time = "2026-08-12T23:44:13.478Z" },

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NLTK download fails with NO_PROXY

High Severity

Pinning nltk 3.10.3 introduces a known regression (nltk#3748) where nltk.download() raises a pathsec PermissionError whenever NO_PROXY is set, even with no proxy in use. This environment calls nltk.download() during construction by default, so startup fails in Docker and corporate setups that define NO_PROXY.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 89a31c9. Configure here.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alignment Review Report

Dependabot lock-only bump of nltk 3.9.4 → 3.10.3 in envs/textarena_env (single file: uv.lock). Verified end-to-end — clean and strongly security-positive. This supersedes the now-closed #1031 (which targeted 3.10.0 and never merged; the floor on main is still nltk>=3.9.3, which 3.10.3 satisfies, so no pyproject.toml edit was needed).

Automated Checks

  • Lint: PASS (for this PR). lint.sh exits non-zero only on ~26 pre-existing envs/**/*.py formatting-drift files; this PR touches only uv.lock (TOML/lock aren't linted). CI's lint job is green.
  • Debug code: CLEAN. check-debug.sh scans src/ only; no .py changed here.

Open RFCs Context

Scanned rfcs/: 000/001/002/003/005/008 In Review, 010 Draft, 004 (no status). None cover packaging / dependency management / PyPI, so a dep bump has no RFC surface.

Tier 1: Fixes Required

None.

  • uv lock --check passes (127 pkgs); nltk + defusedxml hashes verified against PyPI (see inline).
  • Born-clean lock: revision 3 unchanged, 0 mirror refs (all pypi.org/simple) → no index-flip, no revision bump.
  • Package-set delta = only defusedxml 0.7.1 added + nltk changed; no other artifact hashes touched.
  • CI is fully green (lint, test 3.11/3.12, validate-env-locks, build, check-env-docs, pkg smoke-test).

Tier 2: Alignment Discussion

Principle Conflicts

None identified. A dependency bump touches no Gym API / rewards / client-server / MCP-WS / credential surface. The new defusedxml hardens XML parsing (aligns with the "cutting-edge for stability" trade-off and the security posture).

RFC Conflicts

None identified.

Non-blocking notes (unchanged files → not fixable in this PR)

  • Dependabot process mismatch (recurring): .github/dependabot.yml sets exclude-paths: ["envs/**"] (lines 8-9), yet this native dependabot/uv/envs/textarena_env/... PR still edits envs/textarena_env/uv.lock. The uv ecosystem isn't honoring exclude-paths (valid key, platform limitation); the intended path for env bumps is the codex/dependabot-envs-* aggregate. cc @burtenshaw.
  • Deploy: server/Dockerfile consumes the lock via uv sync --frozen (L45), but the revision is unchanged (already 3) so there's no new base-uv requirement; nltk 3.10.3 + defusedxml install with valid hashes and the CVE fix lands at deploy.
  • Compat: server/environment.py uses only nltk.download("words") + nltk.download("averaged_perceptron_tagger_eng") (stable API, current _eng tagger name); nltk is in the CI test install list, so it's exercised.

Summary

  • 0 mechanical issues to fix
  • 0 alignment points for human review
  • 0 RFC conflicts

Security-positive (clears 24 nltk advisories, 10 of them fixed only in 3.10.3). Suggested reviewers: @Darktex (security/reproducibility), @burtenshaw (dependabot process). Recommendation: safe to merge.

Open in Web View Automation 

Sent by Cursor Automation: Pre-review

[[package]]
name = "nltk"
version = "3.9.4"
version = "3.10.3"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nltk 3.9.4 → 3.10.3 — verified against PyPI:

  • wheel sha256:ff9598a8…caf7c (1,798,643 B) and sdist sha256:bb9327a4…4ea4 (5,137,152 B) match the lock exactly; yanked=false; requires_python >=3.10 matches the env.
  • Runtime deps = defusedxml, click, joblib, regex>=2021.8.3, tqdm — all already locked; defusedxml is the only addition.

Strong security fix. nltk 3.9.4 now carries 24 advisories, all cleared in 3.10.3 (0 vulns reported). Notably 10 are fixed only in 3.10.3 (not 3.10.0, the earlier #1031 target) — e.g. CVE-2026-81724 / -81722 / -81726 / -81727, CVE-2026-79657 / -79674 / -79675 / -79676, CVE-2026-78680 / -78682 — so landing exactly 3.10.3 (rather than 3.10.0) matters. uv lock --check passes.

]

[[package]]
name = "defusedxml"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New transitive dep defusedxml 0.7.1, pulled in because nltk 3.10.x adds defusedxml to its runtime requirements. Verified against PyPI:

  • wheel sha256:a352e7e4…6a61 (25,604 B) and sdist sha256:1bb3032d…a3e69 (75,520 B) match the lock;
  • zero dependencies (adds nothing else to the tree), requires_python >=2.7 (compatible with the env's >=3.10), yanked=false, 0 known vulns.

It's a security-hardening XML parser (XXE / billion-laughs mitigation), so this addition is net-positive.

dependencies = [
{ name = "cryptography", marker = "(python_full_version < '3.11' and sys_platform == 'emscripten') or (python_full_version < '3.11' and sys_platform == 'win32') or (sys_platform != 'emscripten' and sys_platform != 'win32')" },
{ name = "jeepney", marker = "(python_full_version < '3.11' and sys_platform == 'emscripten') or (python_full_version < '3.11' and sys_platform == 'win32') or (sys_platform != 'emscripten' and sys_platform != 'win32')" },
{ name = "cryptography" },

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI (not a concern): beyond the nltk bump, the re-lock also normalized environment markers on secretstorage (here) and pandas (two blocks above) — e.g. dropping the (python_full_version < '3.11' and …) or (sys_platform != 'emscripten' and sys_platform != 'win32') guards on cryptography/jeepney. No wheel/sdist/hash changed for these packages, and the effective resolution on the linux deploy target is identical; it's a benign metadata simplification from a newer uv rewriting the lock. Flagging only so the extra hunks don't read as an unrelated change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Dependencies environment python:uv Pull requests that update python:uv code size: small Small pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant