Skip to content

P1 auth: replace python-jose with pyjwt (CVE-2024-33663/33664) #48

Closed

Description

@SlavaKuntsov

python-jose ≤3.3.0: CVE-2024-33663 (algorithm confusion) и CVE-2024-33664 (JWT-бомба, DoS в decode). Проект не поддерживается; decode_token вызывается на публичных /refresh и /me. passlib тоже unmaintained.

Фикс: миграция на PyJWT (+ argon2-cffi вместо passlib), лимит размера токена до decode; обновить core/security.py, тесты, docs/spec.md:73.
Verify: make test-py, логин/refresh работают.
Источник: docs/REVIEW-2026-09-13-merged.md §2 H4


Автоматически создано из сводного ревью. Сверяй актуальность номеров строк — они зафиксированы на коммите 91efb5b.

Activity

  1. self-assigned this
    on Sep 14, 2026
  2. SlavaKuntsov commented on Sep 18, 2026

    @SlavaKuntsov
    OwnerAuthor

    Ready for review — Phase 16

    Implemented (#48)

    • python-jose → PyJWT 2.14 (HS256, options={"require": ["exp","sub"]}), passlib → argon2-cffi (PasswordHasher)
    • Лимит размера токена (8 KB) до decode — JWT-бомба CVE-2024-33664
    • Обновлены pyproject.toml, uv.lock, тесты (+ oversized/no-exp регрессии), docs/spec.md

    Verification

    • make test-py — 38 passed (18 auth + 20 transcoder)
    • make lint-py — black/flake8/mypy чисто
    • Независимое ревью фазы: 1 итерация, blockers исправлены

    Commits: d1314df (+ cf78449 fixes). PR закроет тикет через Closes #48.

  3. SlavaKuntsov commented on Sep 18, 2026

    @SlavaKuntsov
    OwnerAuthor

    Pull request opened

    #77 — will auto-close via Closes #48 on merge.

    Project status: In review (synced).

    Verification

    • make test-py / make test-go — pass
    • make lint-py / make lint-go / make lint-front — чисто
    • make up && make e2e — PASS на чистых volumes

    Remaining risks

    none known (follow-up: #76)

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

Metadata

Metadata

Assignees

Labels

area:autharea:authphase:16Phase 16 security hotfix: CRITICAL chain + CVE

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions