Debian y Ubuntu publicaron el 4 de noviembre de 2026 actualizaciones de APT (Advanced Package Tool, el gestor de paquetes de ambas distribuciones) para corregir la vulnerabilidad CVE-2026-109518, que permite a un atacante situado en medio de la conexión (MITM, man-in-the-middle) sustituir un paquete después de que APT lo haya verificado y lograr así la ejecución de código como root. El fallo lo descubrió el investigador Max Justicz y lo ha corregido el mantenedor de APT, Julian Andres Klode, en todas las ramas estables del programa.
Las claves de la vulnerabilidad CVE-2026-109518 en APT en 30 segundos
- Un atacante que manipule el tráfico HTTP entre el equipo y el repositorio, o que controle un mirror o un proxy, puede colar un paquete no verificado.
- Solo funciona si APT reintenta descargas (Acquire::Retries mayor que cero), algo activado por defecto desde Debian 12 y Ubuntu 22.04.
- Versiones corregidas: 2.6.2 en bookworm, 3.0.4 en trixie, 3.3.6 en sid y 2.8.4ubuntu0.1 en Ubuntu 24.04.
- Canonical le asigna 7,7 sobre 10 (alta) y no consta explotación pública.
El aviso de Debian (DSA-6607-1, Debian Security Advisory) explica que APT puede fusionar dos descargas de paquetes distintas cuando una redirección HTTP les asigna la misma URI. Si después la descarga se interrumpe y se reanuda, un manejo incorrecto del fichero permite reemplazar el paquete ya comprobado por otro elegido por el atacante. Como los paquetes .deb se instalan con privilegios de administrador, el resultado puede ser la ejecución de código arbitrario como root.
La descripción oficial del CVE (Common Vulnerabilities and Exposures), publicada por Canonical como autoridad de numeración, concreta el mecanismo: la causa es la reutilización de enlaces duros (hard links) y el ataque exige que el cliente siga redirecciones y vuelva a intentar la descarga de los paquetes. El registro lo clasifica como un problema de enlaces duros en UNIX y de condición de carrera entre la comprobación y el uso (TOCTOU).
Qué necesita un atacante para aprovechar el fallo de APT
El vector no es remoto en el sentido amplio. El atacante tiene que estar en el camino entre el equipo y el servidor del repositorio y poder manipular el tráfico HTTP: alguien en la misma red, un proxy comprometido o un mirror malicioso. Además, la víctima tiene que instalar o actualizar paquetes en ese momento, y el atacante debe provocar errores HTTP transitorios para forzar los reintentos.
La condición clave es el ajuste Acquire::Retries. Según el aviso de Klode, el ataque depende de que tenga un valor distinto de cero, y el valor 3 es el predeterminado desde APT 2.3.2. Eso significa que Debian 12 (bookworm), Debian 13 (trixie) y Ubuntu 22.04 LTS en adelante están expuestos con la configuración de serie. Las versiones anteriores no lo están por defecto, aunque el propio mantenedor advierte de que muchos scripts de usuarios activaban ese ajuste también en versiones antiguas, y por eso las correcciones llegan hasta ramas como la 1.2.
Canonical puntúa la vulnerabilidad con 7,7 sobre 10 en CVSS 4.0 (Common Vulnerability Scoring System), con vector AV:N/AC:L/AT:P/PR:N/UI:P: ataque por red, baja complejidad, pero con requisitos previos presentes e interacción pasiva del usuario. Ubuntu le da prioridad alta. Klode, en el aviso APT-2026-11-01, la etiqueta como crítica. La diferencia no es contradictoria: el impacto final es máximo (root), pero las condiciones previas reducen la puntuación.
Ninguna de las fuentes primarias consultadas menciona explotación activa, y cybersecuritynews también indica que no hay pruebas públicas de ataques. El caso recuerda a CVE-2019-3462, otro fallo de APT que el mismo Justicz encontró en 2019 y que también se aprovechaba de redirecciones HTTP. La seguridad de las herramientas que distribuyen software es un frente cada vez más vigilado, como mostró hace unos días el fallo en GNU Savannah que permitió a Hacktron suplantar al mantenedor de Bash.
Versiones afectadas y corregidas
| Distribución | Versión vulnerable | Versión corregida | Aviso |
|---|---|---|---|
| Debian 12 bookworm (LTS) | 2.6.1 | 2.6.2 | DLA-4880-1 |
| Debian 13 trixie (estable) | 3.0.3 | 3.0.4 | DSA-6607-1 |
| Debian forky (testing) | 3.3.5 | Pendiente de llegar desde sid | Sin aviso propio |
| Debian sid (unstable) | 3.3.5 | 3.3.6 | Sin aviso propio |
| Ubuntu 26.10 | 3.3.x | 3.3.3ubuntu0.1 | USN-8996-1 |
| Ubuntu 26.04 LTS | 3.2.x | 3.2.1ubuntu0.1 | USN-8996-1 |
| Ubuntu 24.04 LTS | 2.8.x | 2.8.4ubuntu0.1 | USN-8996-1 |
| Ubuntu 22.04 LTS | 2.4.x | 2.4.15ubuntu0.1 | USN-8996-1 |
| Ubuntu 20.04, 18.04, 16.04 y 14.04 | Ramas antiguas | Parches +esm (solo Ubuntu Pro) | USN-8996-1 |
Las versiones de Debian proceden de su security tracker y las de Ubuntu, de la página del CVE y del aviso USN-8996-1 (Ubuntu Security Notice). Debian 11 y 10 solo reciben parches dentro del programa de soporte extendido de pago (ELTS); upstream ha publicado las ramas 2.2.5 y 1.8.2.4. Las distribuciones derivadas que compilan su propio APT tendrán que publicar su actualización.
Cómo comprobar la versión de APT y actualizar
El primer paso es ver qué versión hay instalada y cuál ofrece el repositorio de seguridad. En una comprobación hecha por esta redacción en un contenedor con Ubuntu 24.04, apt-cache policy mostraba instalada la 2.8.3 y como candidata la 2.8.4ubuntu0.1 desde noble-security, lo que coincide con el aviso de Canonical.
apt-cache policy apt
Si la versión instalada es anterior a la corregida de la tabla, basta con actualizar solo APT. Como el fallo depende de los reintentos, una opción prudente si la red no es de confianza es desactivarlos durante esa misma operación con la opción -o:
sudo apt update && sudo apt install --only-upgrade apt
# Variante sin reintentos para la propia actualización
sudo apt -o Acquire::Retries=0 update
sudo apt -o Acquire::Retries=0 install --only-upgrade apt
En los equipos que no se puedan parchear todavía, cybersecuritynews propone fijar Acquire::Retries a 0 de forma permanente, a costa de que las descargas fallen más en conexiones inestables. Es coherente con la condición que describe el aviso de APT, pero conviene retirarlo una vez instalada la versión corregida:
apt-config dump | grep -i retries
echo 'Acquire::Retries "0";' | sudo tee /etc/apt/apt.conf.d/99-sin-reintentos
Revisar las fuentes de los repositorios
El ataque se apoya en la manipulación de tráfico HTTP, así que merece la pena saber qué repositorios usan HTTP sin cifrar. En el formato clásico están en sources.list y en el formato deb822 en ficheros .sources, donde el campo Signed-By indica qué clave firma cada repositorio:
grep -rhE '^deb ' /etc/apt/sources.list /etc/apt/sources.list.d/*.list 2>/dev/null
grep -hE '^(URIs|Signed-By):' /etc/apt/sources.list.d/*.sources 2>/dev/null
Hay que matizar el alcance de estas medidas. La firma GPG de los repositorios sigue siendo necesaria, pero este fallo consiste precisamente en cambiar el paquete después de la verificación, de modo que la firma por sí sola no lo evita. Usar mirrors HTTPS reduce el riesgo de un atacante en la red local, aunque no protege frente a un mirror o un proxy que ya sea malicioso. La única solución completa es la versión corregida de APT. Para una revisión más amplia del sistema, la guía para auditar un servidor Linux con Debian o Ubuntu repasa otros puntos que conviene vigilar.
Actualizaciones automáticas
En servidores con unattended-upgrades, el parche debería instalarse solo desde el repositorio de seguridad. Se puede comprobar que el servicio está activo y simular la siguiente ejecución:
systemctl status unattended-upgrades
sudo unattended-upgrade --dry-run --debug
En qué se queda corta la información de cybersecuritynews
El artículo de cybersecuritynews que difundió el caso habla de que el fallo permite «secuestrar actualizaciones» (traducción propia del titular en inglés). La expresión es más amplia que lo que describen Debian y Canonical: hace falta control del tráfico HTTP o del mirror, reintentos activos, redirecciones y errores transitorios provocados. Tampoco da la puntuación CVSS y deja forky y sid sin versión corregida, cuando sid ya tiene la 3.3.6 y forky la espera.
Además, presenta como no afectadas las versiones anteriores a Debian 12 y Ubuntu 22.04. Es cierto con la configuración por defecto, pero el aviso de APT recuerda que muchos usuarios activaban los reintentos a mano, y por eso Canonical ha publicado parches incluso para Ubuntu 14.04 dentro de Ubuntu Pro. La misma actualización de APT corrige varios accesos de memoria fuera de límites que, según Klode, como mucho permiten denegaciones de servicio en servicios como PackageKit.
Preguntas frecuentes
¿Qué versión de APT corrige CVE-2026-109518?
En Debian, la 2.6.2 para bookworm, la 3.0.4 para trixie y la 3.3.6 para sid. En Ubuntu, por ejemplo, la 2.8.4ubuntu0.1 para 24.04 LTS y la 2.4.15ubuntu0.1 para 22.04 LTS.
¿Puede un atacante explotarlo desde Internet sin más?
No. Necesita manipular el tráfico HTTP entre el equipo y el repositorio, o controlar un mirror o un proxy, y que APT tenga activados los reintentos de descarga.
¿Se está explotando ya?
Las fuentes consultadas no informan de explotación activa ni de pruebas de concepto públicas a fecha del 5 de noviembre de 2026.
¿Usar HTTPS en los repositorios evita el problema?
Reduce el riesgo de un atacante en la red, pero no protege frente a un mirror o un proxy malicioso. La solución es instalar la versión corregida de APT.
Fuentes:

