Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-34990-poc — CVE-2026-34990 — CUPS <= 2.4.16 Escalada de Privilegios Local | Kitploit
Herramientas/GitHubGitHub/bara-almustafa/cve-2026-34990-poc
Herramientas DefensivasEscalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónVirtualización de SeguridadPruebas de PenetraciónAprendizaje y Educación
GitHubbara-almustafa/cve-2026-34990-poc

CVE-2026-34990-poc

CVE-2026-34990 — CUPS <= 2.4.16 Escalada de Privilegios Local

Ver Repositorio
hace 2 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-34990 — CUPS <= 2.4.16 Escalada de Privilegios Local

Usuario local sin privilegios → root, mediante un token de autorización Local de CUPS filtrado y una cola de impresión file:/// que elude la política.

PoC por 0xcybersoldier

status platform language type CVE


Tabla de Contenidos

  • Descripción General
  • Detalles de la Vulnerabilidad
  • Versiones Afectadas
  • Cadena de Ataque
  • Requisitos
  • Instalación
  • Uso
  • Ejemplo de Ejecución
  • Cómo Funciona Internamente
  • Solución de Problemas
  • Detección
  • Mitigación
  • Referencias
  • Descargo de Responsabilidad
  • Autor

Descripción General

CVE-2026-34990 es una vulnerabilidad de escalada de privilegios local en OpenPrinting CUPS que afecta a las versiones 2.4.16 y anteriores.

Un usuario local sin privilegios que pueda alcanzar el demonio de CUPS (cupsd) puede potencialmente hacer que este se autentique contra un servicio IPP controlado por el atacante en la interfaz de loopback.

La credencial resultante Authorization: Local <token> puede reutilizarse posteriormente contra la interfaz administrativa de CUPS.

La cadena de ataque puede utilizarse en última instancia para crear una cola de impresión file:/// y hacer que cupsd escriba un archivo controlado por el atacante con privilegios de root.

La demostración canónica utiliza un archivo drop-in de sudoers para obtener una shell de root.

Este repositorio contiene un PoC en Python 3 de un solo archivo que implementa la cadena de ataque, incluyendo un modo --check más seguro para demostrar el comportamiento vulnerable de escritura de archivos sin crear directamente una configuración persistente de escalada de privilegios.


Detalles de la Vulnerabilidad

CampoValor
ID de CVECVE-2026-34990
ComponenteOpenPrinting CUPS (cupsd)
Versiones Afectadas<= 2.4.16
Clase de VulnerabilidadCWE-306 / CWE-284
ImpactoEscalada de Privilegios Local
Vector de AtaqueLocal
Privilegios RequeridosBajos
Interacción del UsuarioNinguna
Descubierto PorAsim Viladi Oglu Manizada
AvisoGHSA-c54j-2vqw-wpwp

Versiones Afectadas

El PoC apunta a:

OpenPrinting CUPS <= 2.4.16

Verificar la versión de CUPS en ejecución local:

curl -sI http://127.0.0.1:631 | grep -i '^Server:'

Ejemplo:

Server: CUPS/2.4.16 IPP/2.1

Nota: Verificar el aviso actual del proveedor upstream antes de confiar en el rango de versiones afectadas en investigación de producción, ya que los parches del proveedor y el estado de las versiones pueden cambiar.


Cadena de Ataque

 [1] El usuario local emite CUPS-Create-Local-Printer
         |
         | device-uri = ipp://127.0.0.1:9189/ipp/print
         v
 [2] cupsd se conecta al servicio IPP controlado
     por el atacante en loopback
         |
         v
 [3] El servicio IPP falso responde con:
     401 Unauthorized
     WWW-Authenticate: Local trc="y"
         |
         v
 [4] CUPS/libcups reintenta la solicitud con:
     Authorization: Local <token>
         |
         v
 [5] Token capturado
         |
         v
 [6] Token reutilizado contra la interfaz administrativa de CUPS
         |
         v
 [7] Se crea una impresora temporal file:// y
     se transiciona a través del flujo de trabajo de gestión de impresoras
         |
         v
 [8] Print-Job hace que cupsd escriba el documento
     proporcionado en el destino file://
         |
         v
 [9] El payload de demostración puede modificar una
     configuración privilegiada como sudoers
         |
         v
       ROOT

Requisitos

  • Python 3.8+
  • Solo biblioteca estándar de Python
  • Acceso a shell local como usuario sin privilegios
  • Servicio CUPS accesible en 127.0.0.1:631
  • sudo disponible para la demostración de escalada de privilegios
  • Un sistema Linux ejecutando una versión vulnerable de CUPS

No se requieren paquetes externos de Python.


Instalación

Clonar el repositorio:

git clone https://github.com/bara-almustafa/CVE-2026-34990-poc.git
cd CVE-2026-34990-poc

Hacer el PoC ejecutable:

chmod +x cve-2026-34990.py

No se requieren dependencias adicionales.


Uso

Modo de Verificación Segura

Comenzar con el modo de verificación no persistente:

./cve-2026-34990.py --check

El modo de verificación intenta demostrar la primitiva vulnerable de escritura de archivos propiedad de root utilizando un archivo de prueba temporal y limpia después de la prueba.


Demostración de Shell de Root

El modo predeterminado demuestra la cadena completa de escalada de privilegios:

./cve-2026-34990.py

Ejecutar un Comando como Root

Se puede proporcionar un comando con:

./cve-2026-34990.py -c 'id'

Ejemplo:

./cve-2026-34990.py -c 'id; whoami'

Opciones

FlagPredeterminadoDescripción
--cups-port631Puerto TCP local de CUPS
--listen-port9189Puerto de loopback usado por el listener de captura de tokens
--checkOffModo de verificación segura
-c, --command—Ejecutar un comando tras la explotación exitosa
--proof-dir/var/tmpDirectorio padre para archivos de prueba temporales
--attempts8Número de intentos de escritura de archivos
--iterations80Número de rondas de solicitudes IPP por intento

Ejemplo de Ejecución

$ ./cve-2026-34990.py --check

 ██████╗ ██╗  ██╗ ██████╗██╗   ██╗██████╗ ███████╗██████╗ ███████╗ ██████╗ ██╗     ██████╗ ██╗███████╗██████╗
██╔═████╗╚██╗██╔╝██╔════╝╚██╗ ██╔╝██╔══██╗██╔════╝██╔══██╗██╔════╝██╔═══██╗██║     ██╔══██╗██║██╔════╝██╔══██╗
██║██╔██║ ╚███╔╝ ██║      ╚████╔╝ ██████╔╝███████╗██████╔╝█████╗  ██║   ██║██║     ██║  ██║██║█████╗  ██████╔╝
████╔╝██║ ██╔██╗ ██║       ╚██╔╝  ██╔══██╗╚════██║██╔══██╗██╔══╝  ██║   ██║██║     ██║  ██║██║██╔══╝  ██╔══██╗
╚██████╔╝██╔╝ ██╗╚██████╗   ██║   ██████╔╝███████║██║  ██║███████╗╚██████╔╝███████╗██████╔╝██║███████╗██║  ██║
 ╚═════╝ ╚═╝  ╚═╝ ╚═════╝   ╚═╝   ╚═════╝ ╚══════╝╚═╝  ╚═╝╚══════╝ ╚═════╝ ╚══════╝╚═════╝ ╚═╝╚══════╝╚═╝  ╚═╝

  CVE-2026-34990 :: CUPS <= 2.4.16 Escalada de Privilegios Local
  PoC por 0xcybersoldier

[*] Disparando la fuga de token de CUPS...
[+] Token de autorización Local de CUPS capturado
[*] Carrera de escritura de archivos: intento 1/8
[+] VULNERABLE: CUPS escribió un archivo de prueba propiedad de root

Cómo Funciona Internamente

1. Captura de Token

El PoC crea una impresora temporal de CUPS cuyo device-uri apunta hacia un listener IPP controlado por el atacante en la interfaz de loopback.

Ejemplo:

ipp://127.0.0.1:9189/ipp/print

El listener local responde con un desafío de autenticación:

Descargar herramienta