Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
d8-copy-fail-mitigation — Mitigation native Kubernetes de CVE-2026-31431 avec blocage automatisé des modules du noyau, règles de détection Falco en runtime et configuration de nœuds basée sur bashible pour les clusters Deckhouse. | Kitploit
Outils/GitHubGitHub/deckhouse/d8-copy-fail-mitigation
Sécurité des ConteneursAnalyse des VulnérabilitésAudit de ConfigurationSécurité CloudDétection d'IntrusionRéponse aux Incidents
GitHubdeckhouse/d8-copy-fail-mitigation

d8-copy-fail-mitigation

Mitigation native Kubernetes de CVE-2026-31431 avec blocage automatisé des modules du noyau, règles de détection Falco en runtime et configuration de nœuds basée sur bashible pour les clusters Deckhouse.

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
Voir le dépôt
12il y a 4 moisPas encore vérifié

Atténuation de CVE-2026-31431 pour Deckhouse Kubernetes Platform

Langue: Anglais | Русский

À propos de la vulnérabilité

CVE-2026-31431 est une vulnérabilité dans le module algif_aead du noyau Linux, qui expose l'API crypto du noyau à l'espace utilisateur via la famille de sockets AF_ALG. Un défaut dans l'interface AEAD (Authenticated Encryption with Associated Data) permet à un utilisateur local non privilégié de déclencher une corruption mémoire dans le noyau en soumettant des listes scatter-gather conçues spécialement, conduisant à une élévation de privilèges locale ou à un déni de service.

La surface vulnérable est accessible depuis tout processus — y compris les conteneurs non privilégiés — autorisé à appeler socket(AF_ALG, SOCK_SEQPACKET, 0) et à le lier à un algorithme de type aead. Les runtimes de conteneurs qui ne suppriment pas le profil seccomp par défaut ou ne restreignent pas la famille d'appels système socket exposent les nœuds du cluster à l'attaque.

L'atténuation recommandée, jusqu'à ce que le correctif du noyau en amont soit déployé via les mises à jour de paquets du système d'exploitation, consiste à désactiver le module noyau algif_aead sur chaque nœud du cluster et à détecter les tentatives d'exploitation à l'exécution.

Fichiers de ce dépôt

Ce dépôt contient tout ce qui est nécessaire pour atténuer CVE-2026-31431 sur un cluster géré par Deckhouse :

FichierDescription
ngc-cve-2026-31431.yamlNodeGroupConfiguration qui sonde l'interface vulnérable, bloque le chargement de algif_aead, décharge le module s'il est actuellement chargé et vérifie que le correctif est efficace. S'applique à tous les bundles et groupes de nœuds.
far-cve-2026-31431.yamlFalcoAuditRules qui détecte les tentatives d'exploitation de la vulnérabilité à l'exécution via les sockets AF_ALG liées à des algorithmes AEAD. Disponible uniquement dans Deckhouse Enterprise Edition (EE) et Certified Security Edition (CSE), puisque le module runtime-audit-engine est fourni dans ces éditions.

ngc-cve-2026-31431.yaml — atténuation côté nœud

Le NodeGroupConfiguration est exécuté via bashible sur chaque nœud et effectue quatre étapes :

  1. Sonde — ouvre une socket AF_ALG et la lie à aead/gcm(aes) pour déterminer si l'interface vulnérable est accessible sur le nœud.
  2. Bloque — écrit /etc/modprobe.d/disable-algif.conf avec des directives install qui empêchent algif_aead (et le module générique af_alg) d'être chargé à nouveau, manuellement ou en tant que dépendance.
  3. Décharge — exécute rmmod algif_aead si le module est actuellement chargé. Ignoré si le module est compilé dans le noyau (auquel cas seule l'inscription sur liste noire + la détection à l'exécution s'appliquent).
  4. Vérifie — relance la sonde et fait échouer l'étape bashible (sortie non nulle) si l'interface AEAD est toujours accessible, afin que le statut bashible signale le nœud comme non atténué.

Idempotent : réexécuter la configuration sur un nœud déjà atténué ne fait rien.

far-cve-2026-31431.yaml — détection à l'exécution

La ressource FalcoAuditRules ajoute une règle Falco personnalisée qui déclenche un événement Critical lorsqu'un processus ouvre une socket AF_ALG et la lie à un algorithme aead (le modèle d'appels système propre à cette attaque). Elle émet également un événement Warning lorsqu'un processus tente de charger le module algif_aead via modprobe/insmod, ce qui, sur un nœud atténué, ne devrait jamais réussir et constitue un signal fort d'une tentative d'exploitation ou d'une erreur de configuration de l'opérateur.

Note sur les éditions : FalcoAuditRules est réconcilié par le module runtime-audit-engine, qui n'est fourni que dans Deckhouse Enterprise Edition (EE) et Certified Security Edition (CSE). Sur l'édition Community, la ressource ne sera pas traitée ; la NodeGroupConfiguration de ce dépôt s'applique toujours et constitue l'atténuation principale.

Application

kubectl apply -f ngc-cve-2026-31431.yaml
# EE / CSE only:
kubectl apply -f far-cve-2026-31431.yaml

Attente de la convergence

Attendez que la configuration soit appliquée sur chaque nœud en surveillant le statut de chaque NodeGroup. Bashible remonte le succès de chaque étape dans le NodeGroup, et Deckhouse agrège cela dans deux champs que vous pouvez interroger :

  • .status.upToDate — nombre de nœuds dont la dernière exécution bashible a réussi avec la configuration actuelle. La convergence est atteinte lorsque upToDate == nodes pour chaque groupe.
  • .status.conditionSummary.ready — "True" une fois que le groupe est sain ; passe à "False" avec une raison lisible dans .status.conditionSummary.statusMessage si l'étape bashible d'un nœud échoue (ce qui est exactement ce que fait l'étape de vérification de la NodeGroupConfiguration sur un nœud où le correctif n'a pas pu être appliqué).

Une vue instantanée de tous les groupes :

kubectl get nodegroups
NAME      TYPE      READY   NODES   UPTODATE   ...   STATUS MESSAGE
master    Static    3       3       3
worker    Cloud     5       5       5

Une vérification scriptable qui se termine par 0 uniquement lorsque tous les groupes ont convergé :

kubectl get nodegroups -o json | jq -e '
  .items[]
  | select((.status.upToDate // 0) != (.status.nodes // 0)
        or (.status.conditionSummary.ready // "False") != "True")
' >/dev/null && echo "still converging" || echo "all node groups converged"

Si un NodeGroup est bloqué avec conditionSummary.ready == "False", lisez .status.conditionSummary.statusMessage — il fait apparaître l'étape bashible en échec, y compris l'étape de vérification de cette atténuation.

Retour arrière

Une fois que le paquet noyau en amont contenant le correctif officiel est installé sur chaque nœud, supprimez les deux ressources :

kubectl delete -f far-cve-2026-31431.yaml --ignore-not-found
kubectl delete -f ngc-cve-2026-31431.yaml

Supprimer la NodeGroupConfiguration ne supprime pas automatiquement /etc/modprobe.d/disable-algif.conf — nettoyez-le manuellement si vous voulez que le module soit à nouveau chargeable, ou laissez la liste noire en place si l'API crypto du noyau n'est utilisée par aucune charge de travail du cluster.

Vérification manuelle

À l'échelle du cluster :

kubectl get nodegroups

UPTODATE doit être égal à NODES et la colonne du message de statut doit être vide pour chaque groupe.

Sur un nœud (SSH ou kubectl debug node/<name> + chroot /host) :

cat /etc/modprobe.d/disable-algif.conf
lsmod | grep algif_aead
modprobe -n -v algif_aead
modprobe algif_aead; echo "exit=$?"

Résultat attendu :

  • cat affiche les quatre lignes install / blacklist.
  • lsmod ne renvoie rien.
  • modprobe -n -v affiche install /bin/false.
  • modprobe renvoie exit=1.

Vérification du déclenchement de la règle Falco

Utilisez cette sous-section pour valider que la FalcoAuditRules personnalisée pour CVE-2026-31431 se déclenche bien à chaque exécution de PoC.

Pré-vérifications communes pour les deux scénarios :

  1. Vérifiez que runtime-audit-engine est sain sur tous les nœuds :
kubectl -n d8-runtime-audit-engine get ds runtime-audit-engine \
  -o custom-columns=NAME:.metadata.name,DESIRED:.status.desiredNumberScheduled,CURRENT:.status.currentNumberScheduled,READY:.status.numberReady,AVAILABLE:.status.numberAvailable
kubectl -n d8-runtime-audit-engine get pods -l app=runtime-audit-engine -o wide

Résultat attendu : DESIRED == READY == AVAILABLE.

  1. Appliquez/mettez à jour les règles :
kubectl apply -f far-cve-2026-31431.yaml
kubectl get falcoauditrules.deckhouse.io cve-2026-31431-algif-aead -o yaml | sed -n '1,120p'
Télécharger l’outil