Skip to content

fix: bump PyJWT to 2.15.1 (24 Dependabot alerts, 10 Trivy findings) - #43

Merged
Traky12 merged 1 commit into
mainfrom
fix/pyjwt-2.15.1
Sep 30, 2026
Merged

Traky12 merged 1 commit into
mainfrom
fix/pyjwt-2.15.1

Conversation

@Traky12

@Traky12 Traky12 commented Sep 30, 2026

Copy link
Copy Markdown
Owner

Qué y por qué

Cierra las 24 alertas de Dependabot abiertas (#136–#159; 2 críticas, 10 altas, 12 medias) y los 10 hallazgos de Trivy en code scanning (#104–#113). Todos corresponden a PyJWT 2.13.0.

  • api/requirements.txt: PyJWT==2.13.0 → PyJWT==2.15.1
  • requirements/production.txt: PyJWT==2.13.0 → PyJWT==2.15.1

2.14.0 corrige la mayoría. 2.15.0 es necesaria para el RecursionError en el parseo previo a la verificación (#147/#159). 2.15.1 es la última versión publicada.

Evidencia

  • Uso en el código: jwt.encode / jwt.decode con HS256 (api/middleware/security.py, api/routers/auth.py, api/security/rbac.py); no se usa PyJWKClient.
  • Prueba local en un venv aislado con PyJWT 2.15.1: encode/decode HS256 funcionan. Las claves cortas (como test-secret en los tests) solo generan InsecureKeyLengthWarning, y pytest no convierte los avisos en errores.
  • Validación completa: el CI de esta PR.

Riesgos e impacto

Bajo: subida menor dentro de 2.x, sin cambios de API en el uso actual.

Reversibilidad

git revert del commit.

🤖 Generated with Claude Code

PyJWT <=2.14.0 is affected by, among others: asymmetric-PEM detection bypass
(critical), BOM bypass, public JWK / DER keys accepted as HMAC secrets, empty
HMAC keys accepted via PyJWK, JWKS redirect following, RecursionError DoS on
nested headers and pre-verification parsing, non-canonical signature
revocation bypass, is_pem_format ReDoS and JWKS fetch amplification.
2.14.0 fixes most; 2.15.0 is required for the pre-verification RecursionError
(Dependabot #147/#159). 2.15.1 is the latest release.

- api/requirements.txt: PyJWT 2.13.0 -> 2.15.1
- requirements/production.txt: PyJWT 2.13.0 -> 2.15.1

Usage in Cast-o is jwt.encode / jwt.decode with HS256 only (no PyJWKClient);
short test secrets raise InsecureKeyLengthWarning, not an error.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

🚦 48h Operativity: NO-GO

  • TRL9 Gate: NO-GO
  • Workflow result: success
  • Report file: artifacts/operativity/trl9/connection-48h-check-20260930-185637.md
  • Gate source: artifacts/operativity/trl9/go-nogo-status.md

@github-actions

Copy link
Copy Markdown
Contributor

🤖 Análisis Automático IA

Claude — Revisión de código

Sin análisis disponible (SABIONDA_API_KEY no configurada)

Mistral — Documentación generada

Sin documentación disponible

Generado automáticamente por SABIONDA · GaiaChain trazabilidad activa

@github-actions

Copy link
Copy Markdown
Contributor

🔒 Docker Security Audit

Status: success

Resumen Rápido

  • Auditoría Docker: success
  • Validación docker-compose: success
  • Tags fijos (no latest): ⚠️

Acciones si hay problemas

  • Ejecutar: make docker-harden
  • Verificar: make docker-verify-hardening
  • Re-auditar: make docker-audit --strict

Ver reporte completo en artefactos

@github-actions

Copy link
Copy Markdown
Contributor

🔍 Resumen de checks del PR #43

Workflow: E2E - Pull Request to Main
Conclusión: success
Run: https://github.com/Traky12/Cast-o/actions/runs/36762151151

  • ✅ Pasados: 23
  • ❌ Fallidos: 0
  • ⏭️ Omitidos/Neutral: 4

Detalle de checks

@github-actions

Copy link
Copy Markdown
Contributor

🔍 Resumen de checks del PR #43

Workflow: Validate All
Conclusión: success
Run: https://github.com/Traky12/Cast-o/actions/runs/36762151183

  • ✅ Pasados: 26
  • ❌ Fallidos: 0
  • ⏭️ Omitidos/Neutral: 5

Detalle de checks

@Traky12
Traky12 merged commit 3d28128 into main Sep 30, 2026
31 checks passed
@Traky12
Traky12 deleted the fix/pyjwt-2.15.1 branch September 30, 2026 19:02

This branch was successfully deployed

1 active deployment
staging — f5105bbe Deployed Sep 30, 2026 by Traky12 via deploy-staging #36
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