jueves, 22 de octubre de 2026 · Madrid
Industria· 22 de octubre de 2026 · 5 min de lectura

Revisado por Iván Quintas, Editor de IA News

eMudhra: la CA comprometida que obliga a parchear pip, uv y certifi

Ocho intermedios de eMudhra con claves comprometidas permiten MITM. pip 26.2.2, uv 0.13.4+ y certifi 2026.10.19 ya quitan la root emSign de sus bundles.

Cadena de certificados con un eslabón roto que emite luz roja de alerta sobre fondo violeta oscuro

Si desarrollas en Python, hoy toca lo mismo que esta semana en PHP y Node.js: parchear. La diferencia es que aquí nadie ha roto código — han roto la confianza. Las claves privadas de ocho certificados intermedios de la autoridad certificadora eMudhra están comprometidas, y esa root figuraba en los bundles de CAs que pip y uv llevan vendados dentro. Resultado: hasta parchear, tus instaladores de paquetes aceptaban certificados de un atacante para cualquier hostname.

Las versiones que arreglan ya están fuera: pip 26.2.2 (20 de octubre), uv 0.13.4 y mejor 0.13.5 (20 y 21 de octubre), y certifi 2026.10.19.

Qué ha pasado

El 17 de octubre, un investigador identificado como Wayne demostró el compromiso de la forma más contundente posible: firmó un mensaje con la clave privada de cada uno de los ocho intermedios y lo reportó a los equipos de los root programs. El sitio del incidente, emudhra.we-have-a-problem.com, publica el mensaje, los certificados y las firmas — cualquiera puede verificarlo con OpenSSL. “We have a problem here”, dice el mensaje firmado. Y lo firmó ocho veces con ocho claves que no debería tener.

Los ocho intermedios encadenan a la root emSign ECC Root CA - G3, incluida en los programas de root de Mozilla, Microsoft, Apple y Chrome. La cronología del bloqueo:

La consecuencia, en palabras del propio sitio del incidente: un atacante con cualquiera de esas claves puede suplantar cualquier sitio web o servicio. No es un bug de un producto: es la infraestructura de confianza de HTTPS con una llave maestra en manos equivocadas.

Por qué Python va en el primer pelotón

El problema no lo causa Python — lo causan los bundles de CAs vendados. Las herramientas de instalación no usan el almacén del sistema operativo: llevan su propia lista de CAs dentro.

Y el vector importa: si tu instalador de dependencias acepta un certificado del atacante, un man-in-the-middle puede servirte código malicioso en una instalación. El mismo canal que descarga tus paquetes es el de ataque.

La cadena de parches

El orden en que se cerró cada eslabón:

  1. certifi 2026.10.19 (20 de octubre) — advisory crítico, quita la root emSign del bundle.
  2. pip 26.2.2 (20 de octubre) — el changelog lo dice en una línea: “Upgrade certifi to 2026.10.19”.
  3. uv 0.13.4 (20 de octubre) — elimina la root de su store vía webpki-root-certs 1.0.10.
  4. uv 0.13.5 (21 de octubre) — repina sus Pythons gestionados a python-build-standalone 20261020, que instalan pip 26.2.2 y empaquetan el mismo wheel en ensurepip: ambos caminos quedan con certifi 2026.10.19.

En tu terminal:

# uv: 0.13.4 mínimo, 0.13.5 recompila los Pythons gestionados
uv self update
uv python upgrade          # repite tras actualizar uv

# pip: 26.2.2+, en cada venv y en el Python del sistema
python -m pip install --upgrade pip

# certifi en tus proyectos
python -m pip install --upgrade certifi

No es solo Python

El advisory de uv lo dice sin rodeos: “uv is not the only impacted package. You MUST evaluate your other packages”. Todo lo que empaqueta bundles de CAs — certifi, webpki-root-certs, cualquier app que los meta dentro — necesita la misma revisión.

La prueba la tienes en la propia sección: los security releases de Node.js de este mismo mes ya retiraban el intermedio de eMudhra comprometido, listado explícitamente entre los motivos del release. Y si usas uv con --system-certs o un bundle propio vía SSL_CERT_FILE, el advisory te pide confirmar que ese almacén tampoco contenga los intermedios revocados.

El contexto

La semana del stack se está componiendo sola: PHP con dos RCE críticas el miércoles por la mañana, Node.js con diez CVEs por la tarde, y ahora una CA comprometida que atraviesa ecosistemas. Tres historias distintas, un mismo patrón: el software se parchea en oleadas, y el que tiene el inventario hecho es el que duerme.

El detalle que más debería incomodar no es eMudhra: es que tu HTTPS vale exactamente lo que valga el bundle de CAs que tu herramienta lleva dentro. Las actualizaciones del sistema operativo no te salvan si el certificado de confianza va vendado en un wheel. La cadena tiene eslabones que no ves hasta que alguien los firma con la clave equivocada — y el 17 de octubre, Wayne firmó ocho.

¿Te ha servido? Márcanos como fuente preferida en Google y verás antes nuestros artículos en Noticias destacadas, AI Overviews y AI Mode.

#Python#seguridad#eMudhra#emSign#certifi#pip#uv#CA#TLS#vulnerabilidades

📎 Fuente original: X / @L4UR3N7 ↗

Noticias relacionadas

Preguntas frecuentes

¿Qué ha pasado con eMudhra y emSign?
Las claves privadas de ocho certificados intermedios de la CA eMudhra se han comprometido. Encadenan a la root emSign ECC Root CA - G3, presente en los programas de root de Mozilla, Microsoft, Apple y Chrome. Un atacante con cualquiera de esas claves puede emitir certificados válidos para cualquier sitio web, lo que habilita ataques man-in-the-middle.
¿Por qué afecta a pip y uv si son vulnerabilidades de una CA?
Porque pip y uv no usan el almacén de certificados del sistema: llevan bundles de CAs vendados dentro. uv verifica TLS contra webpki-root-certs, que incluía la root emSign comprometida; pip lleva certifi empaquetado. Cualquier certificado emitido con las claves robadas era aceptado por esas herramientas para cualquier hostname.
¿Qué tengo que actualizar exactamente?
uv a 0.13.4 mínimo (mejor 0.13.5) con uv self update, seguido de uv python upgrade para reemplazar los Pythons gestionados. pip a 26.2.2 o superior con python -m pip install --upgrade pip en cada venv y en el Python del sistema. Y certifi a 2026.10.19 o superior en todos los proyectos que lo dependan.
¿Quién más está afectado por el incidente de eMudhra?
Todo lo que empaquete bundles de CAs: certifi, webpki-root-certs y cualquier aplicación que los incluya. Node.js retiró el intermedio de eMudhra en sus security releases de octubre. Firefox y Chrome bloquean los certificados desde el 17 de octubre, Apple desde el 19 y Microsoft desde el 20. El advisory de uv lo resume: hay que auditar todos los paquetes que venden CAs, no solo uno.
¿Cómo de grave es este incidente?
El advisory de uv (GHSA-hq85-5cpj-mr62) lo puntúa crítico con CVSS v4.0 9.1 y CWE-295 (validación incorrecta de certificados). No tiene CVE propio porque no es un fallo de un producto aislado: es una rotura de la cadena de confianza de la web de la que cada herramienta tiene que salir por su lado.

De la misma familia · Gestión documental

¿Sabes dónde está el seguro de tu comunidad?

Actas, contratos, pólizas y documentos importantes siempre localizados, con avisos de vencimiento.

Descubre Vecindoc