feat(episode): TRAZA_tenas-razn-john-la-litellm-instalada-t_S20260611.R19_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: TESSERA | Type: troubleshooting
Summary: EPISODIO 19 — BLINDADAS: 🛡️ Tenías razón, John — la LiteLLM instalada tenía 7 vu
This commit is contained in:
Ember 2026-06-12 13:39:03 +00:00
parent cb232c4c7c
commit 7292533753

View file

@ -0,0 +1,33 @@
---
episode_id: "cfd643aa-dbd8-4cfa-a3ae-7e14e05a679f"
puente_flat: "TRAZA_tenas-razn-john-la-litellm-instalada-t_S20260611.R19_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260611.GRAFO_HISTORIA_HIBRIDO"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "TESSERA"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 19 — BLINDADAS: 🛡️ Tenías razón, John — la LiteLLM instalada tenía 7 vulnera"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-06-12T13:39:01.025429+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
# 🛡️ Tenías razón, John — la LiteLLM instalada tenía 7 vulnerabilidades (2 CRÍTICAS). Ya está actualizada: **1.82.6 → 1.88.1**, smoke 4/4, commit `4dc4e62` push 3/3
## [R3.seccion1.T1] El hallazgo y la cura
| Dato | Valor |
|---|---|
| Instalada en servidor MEMORIA | 1.82.6 (imagen digest-pinned, creada 2026-03-22 — 3 meses congelada) |
| CVEs que la afectaban (OSV.dev, query por versión exacta) | **7 — 2 CRITICAL + 5 HIGH** |
| Los 2 críticos | CVE-2026-42208 **SQL injection en la verificación de API keys del proxy** (fixed 1.83.7) · CVE-2026-35030 **bypass de autenticación** por colisión de cache OIDC (fixed 1.83.0) |
| Los 5 HIGH | privilege escalation por endpoint de config · pass-the-hash · command execution vía MCP stdio · sandbox escape en guardrails · SSTI |
| Ahora | **1.88.1** (última estable PyPI), re-pineada por digest `c98c9395…` |
Mitigante que limitaba el daño: el proxy solo escucha en 127.0.0.1 + redes docker internas — pero un SQLi en la verificación de keys era inaceptable en el componente por donde pasan TODOS los embeddings del pipeline. **Smoke post-upgrade 4/4 PASS:** container Up · `LiteLLM: Current Version = 1.88.1` · `/v1/models` con los 4 modelos · embedding dim 3072 · HIT@1 del violín #1 (el espacio vectorial quedó intacto — LiteLLM proxea, el embedding real lo hace OpenRouter con el mismo modelo). **Rollback en frío:** `docker-compose.yml.bak.pre_v1881_20260612` + la imagen 1.82.6 sigue local. ## [R3.seccion2.I1] La lección sistémica (vector #18 nuevo)
El pin por digest es buena disciplina de reproducibilidad pero **congela también los CVEs** — nadie miraba la versión desde marzo. Añadí al inventario FASE 5 el vector #18: chequeo periódico instalada-vs-OSV en `pipeline_health`/`reality_check`.