Skip to content

Upgrade urllib3, Werkzeug, oauthlib and Flask (Dependabot alerts) - #229

Merged
vthorsteinsson merged 1 commit into
masterfrom
deps/dependabot-2026-10-22
Oct 22, 2026
Merged

vthorsteinsson merged 1 commit into
masterfrom
deps/dependabot-2026-10-22

Conversation

@vthorsteinsson

Copy link
Copy Markdown
Member

Clears all eight open Dependabot alerts on master.

Alert Package Change Exposure
#17 high, #18 medium urllib3 2.7.0 → 2.8.0 Real. A hostile server can make a download buffer an unbounded chunk-size line (#17) or loop forever on chunked deflate (#18). fetcher.py and scrapers/default.py fetch external news sites with requests.
#16 high urllib3 2.7.0 → 2.8.0 Only behind an HTTPS proxy; none is configured in code.
#19 medium Werkzeug 3.1.8 → 3.1.9 safe_join() with Windows device names; production is Linux.
#14, #15 medium oauthlib 3.3.1 → 4.0.0 Server-side OAuth endpoints. oauthlib only comes in via python-youtube, which queries/play.py uses with an API key.
#5, #8 low Flask 2.3.3 → 3.1.3 Missing Vary: Cookie with Flask sessions, which we do not use.

Flask 3.0 removed flask._request_ctx_stack. routes/__init__.py imported it but never used it, so the import is deleted. Nothing else we import from Flask was removed in 3.x, and flask-caching 2.4.1 and flask-cors 6.0.5 support Flask 3. The Flask==2.3.3 pin dated from 2023 (then the latest release), not from a known incompatibility.

uv.lock changes only these four packages.

Testing

  • scripts/test_local.sh: 88 passed, 7 skipped, no warnings from the upgraded packages.
  • Booted under gunicorn (main:app): /, /about and /postag.api return 200.
  • /static/fonts/glyphicons-regular.woff serves with max-age=86400 via send_from_directory; an encoded ../ path returns 404.

🤖 Generated with Claude Code

- urllib3 2.7.0 -> 2.8.0 (GHSA-vxq7-64xx-v4gw, GHSA-gh4c-6fx4-qh6g,
  GHSA-8988-9cw3-xx77). The first two let a hostile server exhaust memory
  or hang a download, which the scraper and fetcher are exposed to.
- Werkzeug 3.1.8 -> 3.1.9 (GHSA-g6x2-hccm-hh4m, Windows only).
- oauthlib 3.3.1 -> 4.0.0 (GHSA-hj66-6f7g-4r5v, GHSA-xpv3-w29h-x7cv,
  server-side endpoints we do not use; pulled in by python-youtube).
- Flask 2.3.3 -> 3.1.3 (GHSA-68rp-wp8r-4726; we use no Flask sessions).
  Drop the unused `_request_ctx_stack` import, which Flask 3.0 removed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vthorsteinsson
vthorsteinsson merged commit 66c92b2 into master Oct 22, 2026
1 check passed
@vthorsteinsson
vthorsteinsson deleted the deps/dependabot-2026-10-22 branch October 22, 2026 12:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant