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-71203-PoC — PoC: divulgation non authentifiée du schéma OpenAPI de changedetection.io (CVE-2026-71203, Medium 5.3) | Kitploit
Outils/GitHubGitHub/nel-droid/cve-2026-71203-poc
Analyse des VulnérabilitésExploitationTests de Sécurité des APICollecte d'InformationsSécurité WebTests d'IntrusionSécurité des API
GitHubnel-droid/cve-2026-71203-poc

CVE-2026-71203-PoC

PoC: divulgation non authentifiée du schéma OpenAPI de changedetection.io (CVE-2026-71203, Medium 5.3)

Voir le dépôt
il y a 3 joursPas 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-71203 — changedetection.io : Authentification manquante sur /api/v1/full-spec divulgue le schéma OpenAPI complet

Produit : dgtlmoon/changedetection.io — v0.55.7 Fichier : changedetectionio/api/Spec.py CWE : CWE-306 — Authentification manquante pour une fonction critique CVSS 3.1 : AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N — 5.3 (Moyen) CNA : Turan Security · Fiche CVE

Description

Les ressources de l’API REST de changedetection.io sont protégées par un décorateur @auth.check_token qui valide l’en-tête x-api-key du demandeur — à l’exception de la ressource Spec enregistrée sur /api/v1/full-spec (changedetectionio/api/Spec.py), dont la méthode get ne porte ni @auth.check_token ni @validate_openapi_request.

Impact

Tout client réseau non authentifié peut récupérer le schéma OpenAPI complet de l’instance, divulguant ainsi la surface d’API interne complète (tous les chemins de ressources, paramètres et formes de réponse) sans présenter de clé API. Bien que le schéma lui-même ne soit pas une donnée utilisateur sensible, il fournit à un attaquant une carte complète et faisant autorité de chaque autre point de terminaison API à cibler — réduisant le coût d’une reconnaissance supplémentaire contre les ressources réellement protégées de l’instance.

Reproduction

root@kitploit:~
GET /api/v1/full-spec HTTP/1.1
Host: target-instance

Aucun en-tête x-api-key, cookie ou autre identifiant n’est requis. La réponse est le document complet de spécification OpenAPI.

Preuve de concept (Python) :

root@kitploit:~
import requests
import sys

target = sys.argv[1] if len(sys.argv) > 1 else "http://localhost:5000"

resp = requests.get(f"{target}/api/v1/full-spec", timeout=10)
print(f"[*] Status: {resp.status_code}")
if resp.status_code == 200:
    print("[+] Full OpenAPI schema disclosed with zero authentication:")
    print(resp.text[:1000])

Cause racine

Chaque autre ressource REST de l’API est enregistrée avec @auth.check_token (et @validate_openapi_request) appliqués à ses méthodes de gestionnaire ; la méthode get de la ressource Spec n’a pas été décorée de la même manière, ce qui en fait le seul point de terminaison non authentifié dans une surface autrement protégée par clé API.

Recommandation de correctif

Appliquer @auth.check_token à Spec.get(), comme pour toutes les autres ressources de l’API, ou si le schéma est destiné à être public, faire de ce choix une décision explicite et documentée plutôt qu’une incohérence.

Télécharger l’outil