diff --git a/CHANGELOG.md b/CHANGELOG.md index f24241a..cebd6dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Security +- Upgraded `python-jose` from 3.3.0 to 3.5.0 to fix CVE: algorithm confusion vulnerability with OpenSSH ECDSA keys (affected versions < 3.4.0). + ### Added - **Unified Google OAuth flow**: Google Sign-In now requests all Gmail API scopes (`gmail.insert`, `gmail.labels`, `gmail.readonly`) in the same consent screen, so users no longer need a separate "Connect Gmail" step after signing in with Google. Gmail credentials are stored automatically on successful sign-in. - `include_granted_scopes=true` added to both the login and Gmail authorize URLs so scope additions take effect for users who previously connected. diff --git a/backend/requirements.txt b/backend/requirements.txt index 3510b4d..0827c49 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -11,7 +11,7 @@ psycopg2-binary==2.9.11 asyncpg==0.31.0 # Authentication -python-jose[cryptography]==3.3.0 +python-jose[cryptography]==3.5.0 # Updated: Fixed algorithm confusion with OpenSSH ECDSA keys (was 3.3.0) bcrypt==4.3.0 python-multipart==0.0.22 # Updated: Fixed multiple vulnerabilities (was 0.0.6) authlib==1.6.9 # Updated: Fixed OIDC hash binding, JWE RSA1_5 padding oracle, alg:none bypass, JWK header injection (was 1.6.6) diff --git a/docs/TODO.md b/docs/TODO.md index 7dc86fe..9bc8fbe 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -11,6 +11,7 @@ Comprehensive task breakdown for repository improvements and production readines - [x] Implement CSRF protection middleware - [x] Document all error codes in docs/ERRORS.md - [x] Create security ADR (Architecture Decision Records) +- [x] Upgrade `python-jose` 3.3.0 → 3.5.0 (algorithm confusion with OpenSSH ECDSA keys, CVE, affected < 3.4.0) ### In Progress 🔨 - [ ] Enable rate limiting per user/tier