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-74469 — Dépôt de recherche pour CVE-2026-74469 (DiagSpill), un débordement de compteur de transport pair SCTP du noyau Linux provoquant une écriture hors limites, avec PoC, analyse de la cause racine et détails du correctif. | Kitploit
Outils/GitHubGitHub/0xblackash/cve-2026-74469
Escalade de PrivilègesCriminalistique MémoireAnalyse des VulnérabilitésExploitationArticles et RechercheApprentissage et ÉducationExploitation de BinairesLabs et Pratique
GitHub0xblackash/cve-2026-74469

CVE-2026-74469

Dépôt de recherche pour CVE-2026-74469 (DiagSpill), un débordement de compteur de transport pair SCTP du noyau Linux provoquant une écriture hors limites, avec PoC, analyse de la cause racine et détails du correctif.

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

⚡ CVE-2026-74469 — DiagSpill

Débordement du compteur de transports pairs SCTP du noyau Linux

Une vulnérabilité SCTP du noyau Linux causée par un débordement d'un compteur de transports pairs sur 16 bits, permettant au compteur de passer de 65535 à 0. Lors d'un vidage de diagnostic SCTP, la valeur après débordement peut entraîner une réservation insuffisante de la charge utile du skb, suivie d'une écriture hors limites des données d'adresse des pairs.


⚠️ Avertissement

Ce dépôt est destiné uniquement à la recherche en sécurité autorisée, à l'analyse de vulnérabilités du noyau, aux environnements CTF, au débogage du noyau et aux tests défensifs.

N'utilisez pas le code de preuve de concept contre des systèmes sans autorisation explicite.


📌 Aperçu de la vulnérabilité

L'avis CVE du noyau Linux décrit le problème comme un débordement de transport_count sur 16 bits dans SCTP, suivi d'une allocation INET_DIAG_PEERS de taille insuffisante et d'une écriture hors limites lors du vidage de diagnostic.


🧬 Description de la vulnérabilité

Le code vulnérable maintient le nombre de transports pairs uniques dans un compteur sur 16 bits :

root@kitploit:~
transport_count

Chaque nouveau pair unique ajouté incrémente le compteur.

La limite critique est :

root@kitploit:~
65535

L'ajout d'un autre transport unique provoque :

root@kitploit:~
65535 + 1
     ↓
     0

Le débordement résultant crée une incohérence entre :

root@kitploit:~
transport_count

et :

root@kitploit:~
transport_addr_list

Le sous-système de diagnostic fait ensuite confiance au compteur après débordement lors du calcul de la taille du tampon de réponse, tout en parcourant toujours la liste complète des adresses des pairs.


🔬 Cause racine

La vulnérabilité peut être représentée comme suit :

root@kitploit:~
                    SCTP Association
                           │
                           ▼
                 Add unique peers
                           │
                           ▼
                 transport_count
                    uint16_t
                           │
                           ▼
                    65,535 peers
                           │
                           ▼
                 + 1 unique peer
                           │
                           ▼
                    Integer wrap
                           │
                           ▼
                transport_count = 0
                           │
                           ▼
                  SCTP sock_diag
                           │
                           ▼
             Reserve incorrect payload
                           │
                           ▼
          Iterate complete peer list
                           │
                           ▼
             Out-of-bounds skb write

L'avis amont indique spécifiquement que le 65 536e transport fait passer le compteur à zéro.


🧠 Pourquoi le bug se produit

Le code de diagnostic s'appuie en réalité sur deux vues différentes du même état.

Côté allocation

root@kitploit:~
transport_count
       │
       ▼
payload size

Côté copie

root@kitploit:~
transport_addr_list
       │
       ▼
copy every peer address

Après le débordement de l'entier :

root@kitploit:~
transport_count = 0

transport_addr_list =
    [peer 1]
    [peer 2]
    [peer 3]
    ...
    [peer 65536]

L'allocateur réserve donc de l'espace sur la base de :

root@kitploit:~
0 peers

tandis que l'opération de copie peut toujours traiter :

root@kitploit:~
65536 peer addresses

Cette incohérence produit la violation de sûreté mémoire.


💥 Corruption de la mémoire

L'avis du noyau Linux décrit le vidage de diagnostic résultant comme réservant une charge utile vide, puis écrivant environ 8 Mio d'adresses de pairs au-delà de la fin du skb.

Conceptuellement :

root@kitploit:~
Expected skb:

┌───────────────────────────────┐
│ INET_DIAG header              │
├───────────────────────────────┤
│ Peer addresses                │
└───────────────────────────────┘
              ▲
              │
          valid end


Actual vulnerable state:

┌───────────────────────────────┐
│ INET_DIAG header              │
└───────────────────────────────┘
              ▲
              │
          skb tail

              ↓
      Peer address writes
              ↓
      Peer address writes
              ↓
      Peer address writes
              ↓
      OUT-OF-BOUNDS WRITE

Red Hat classe cette faille comme CWE-787 : écriture hors limites.


🔎 Chemin de code vulnérable

Le chemin pertinent peut être résumé comme suit :

root@kitploit:~
SCTP association
      │
      ▼
sctp_assoc_add_peer()
      │
      ▼
transport_count++
      │
      ▼
16-bit overflow
      │
      ▼
SCTP sock_diag
      │
      ▼
INET_DIAG_PEERS
      │
      ▼
skb payload reservation
      │
      ▼
transport_addr_list iteration
      │
      ▼
Out-of-bounds write

Le fichier source affecté est :

root@kitploit:~
net/sctp/associola.c

L'annonce CVE du noyau Linux identifie explicitement ce fichier.


🩹 Correctif amont

Le correctif amont est :

root@kitploit:~
bd0e9289e2642f6a5c54faad304ce0f41e926d22

Commit :

root@kitploit:~
sctp: prevent peer transport count overflow

Le correctif rejette un nouveau pair unique lorsque :

root@kitploit:~
transport_count >= U16_MAX

Point important : la vérification intervient après la recherche du pair existant.

Cela préserve la capacité de récupérer un transport déjà existant même lorsque l'association a atteint la limite.


🛡️ Logique du correctif

Vulnérable

root@kitploit:~
New peer
   │
   ▼
transport_count++
   │
   ▼
Possible 16-bit wrap
   │
   ▼
Diagnostic size mismatch
   │
   ▼
OOB write

Corrigé

root@kitploit:~
New peer
   │
   ▼
Existing peer?
   │
 ┌─┴──────────┐
 │            │
YES           NO
 │            │
 ▼            ▼
Reuse       Check U16_MAX
transport       │
                ▼
          Reject at limit

La propriété de sécurité importante est d'empêcher le compteur de déborder, tout en préservant la sémantique normale de recherche d'un pair existant.


📊 Vulnérable vs corrigé


💥 Impact de sécurité

La corruption de mémoire peut potentiellement entraîner :

  • Un plantage du noyau
  • Un déni de service
  • Une corruption de la mémoire du noyau
  • Une écriture hors limites dans le noyau
  • Une élévation potentielle de privilèges
  • Une exécution potentielle de code noyau

Des recherches publiques publiées après la divulgation rapportent une exploitation en root local dans des conditions spécifiques, tandis que le score d'origine du CNA du noyau Linux utilise AV:L/AC:H/PR:L/UI:N.

La vulnérabilité est également décrite comme potentiellement atteignable à distance dans des circonstances très spécifiques de configuration SCTP/adresses, mais cela ne doit pas être considéré comme équivalent à une vulnérabilité généralement exploitable à distance.


🧪 Environnement de recherche

Topologie isolée recommandée :

root@kitploit:~
┌───────────────────────────────────────────┐
│              Linux VM                    │
│                                           │
│       ┌───────────────────┐               │
│       │   SCTP Association │               │
│       └─────────┬─────────┘               │
│                 │                         │
│                 ▼                         │
│       ┌───────────────────┐               │
│       │ Multiple SCTP      │               │
│       │ Peer Transports    │               │
│       └─────────┬─────────┘               │
│                 │                         │
│                 ▼                         │
│       ┌───────────────────┐               │
│       │   SCTP sock_diag   │               │
│       └─────────┬─────────┘               │
│                 │                         │
│                 ▼                         │
│          INET_DIAG_PEERS                  │
│                                           │
└───────────────────────────────────────────┘

Outils utiles :

root@kitploit:~
ip sctp
ss
ss -a
ss -A sctp
dmesg -w
gdb
pwndbg
crash

Vérifier le support SCTP :

root@kitploit:~
lsmod | grep sctp

Vérifier la configuration du noyau :

root@kitploit:~
grep CONFIG_IP_SCTP /boot/config-$(uname -r)

🔎 Vérification du noyau

Vérifier le noyau en cours d'exécution :

root@kitploit:~
uname -r

Vérifier la configuration SCTP :

root@kitploit:~
grep -E 'CONFIG_IP_SCTP|CONFIG_SCTP' \
/boot/config-$(uname -r)

Vérifier les modules SCTP chargés :

root@kitploit:~
lsmod | grep -i sctp

Inspecter les sockets SCTP :

root@kitploit:~
ss -A sctp

🧪 Flux de reproduction

Pour une recherche contrôlée sur le noyau :

root@kitploit:~
01. Build vulnerable kernel
          ↓
02. Boot isolated VM
          ↓
03. Enable SCTP
          ↓
04. Create controlled SCTP association
          ↓
05. Populate unique peer transports
          ↓
06. Reach transport-count boundary
          ↓
07. Trigger SCTP diagnostic dump
          ↓
08. Monitor skb diagnostics
          ↓
09. Capture kernel behavior
          ↓
10. Apply upstream fix
          ↓
11. Repeat test
          ↓
12. Compare vulnerable vs patched

Surveiller la sortie du noyau :

root@kitploit:~
sudo dmesg -w

Pour le débogage :

root@kitploit:~
gdb vmlinux

ou :

root@kitploit:~
pwndbg vmlinux

📂 Structure du dépôt

root@kitploit:~
CVE-2026-74469-DiagSpill/
│
├── README.md
│
├── exploit/
│   ├── poc.c
│   └── Makefile
│
├── analysis/
│   ├── root-cause.md
│   ├── sctp-transport-count.md
│   ├── sock-diag.md
│   ├── skb-overflow.md
│   └── patch-analysis.md
│
├── kernel/
│   ├── vulnerable/
│   └── patched/
│
├── lab/
│   ├── setup.sh
│   ├── cleanup.sh
│   └── topology.md
│
├── screenshots/
│
├── docs/
│   └── research-notes.md
│
└── LICENSE

🛡️ Atténuation

L'atténuation principale consiste à mettre à niveau vers un noyau contenant le correctif amont.

Pour Debian/Kali :

root@kitploit:~
sudo apt update
sudo apt full-upgrade

Puis redémarrer :

root@kitploit:~
sudo reboot

Vérifier :

root@kitploit:~
uname -r

Si SCTP n'est pas nécessaire, les administrateurs peuvent également envisager de désactiver la fonctionnalité SCTP affectée en fonction de leur environnement et de leurs exigences opérationnelles. La recherche publique liste spécifiquement la désactivation de SCTP / sctp_diag comme atténuation immédiate lorsque ces composants ne sont pas utilisés.


📦 Versions du noyau corrigées

L'annonce stable amont liste ces versions corrigées :

Ces versions proviennent de l'annonce CVE du noyau Linux ; les distributions peuvent rétroporter le correctif dans des paquets dont la numérotation de version diffère.


🧩 Leçons de sécurité

01 — Ne jamais laisser des compteurs bornés déborder silencieusement

Un compteur sur 16 bits a un maximum absolu :

root@kitploit:~
U16_MAX = 65535

Le code sensible à la sécurité doit gérer explicitement cette limite.

02 — Les compteurs d'allocation et de copie doivent concorder

La taille utilisée pour allouer un tampon doit correspondre au nombre d'objets effectivement copiés dedans.

03 — Les interfaces de diagnostic sont sensibles à la sécurité

Les API de diagnostic du noyau peuvent devenir des surfaces d'attaque par corruption de mémoire lorsque l'état interne devient incohérent.

04 — Les bugs d'entiers peuvent devenir des bugs de sûreté mémoire

La primitive d'origine est un débordement d'entier, mais l'impact de sécurité résultant est une écriture hors limites dans le noyau.

05 — L'état réseau du noyau est complexe

Les associations SCTP peuvent contenir de grandes collections de transports pairs, ce qui rend les limites de compteurs et la logique de gestion de listes critiques pour la sécurité.


📚 Références

  • CVE : CVE-2026-74469
  • Nom de code : DiagSpill
  • Sous-système : Linux SCTP
  • Fichier affecté : net/sctp/associola.c
  • Fonction principale : sctp_assoc_add_peer()
  • Correctif : sctp: prevent peer transport count overflow
  • Correctif amont : bd0e9289e2642f6a5c54faad304ce0f41e926d22
  • CWE : CWE-787 / écriture hors limites
  • Avis CVE du noyau Linux : avis CVE-2026-74469
  • Debian Security Tracker : suivi Debian CVE-2026-74469
  • Red Hat : avis Red Hat CVE-2026-74469

⚡ DiagSpill

CVE-2026-74469

Linux Kernel · SCTP · sock_diag · OOB Write · Kernel Security


Research • Analyze • Reproduce • Harden


0xBlackash

Télécharger l’outil
ChampDétails
CVECVE-2026-74469
Nom de codeDiagSpill
ComposantNoyau Linux
Sous-systèmeSCTP / sock_diag
Fichier affecténet/sctp/associola.c
Fonction principalesctp_assoc_add_peer()
Classe de bugDébordement d'entier / écriture hors limites
ImpactCorruption de la mémoire du noyau
Impact potentielÉlévation locale de privilèges
CVSS v3.17.0 — Élevé
Vecteur d'attaqueLocal
Complexité d'attaqueÉlevée
Privilèges requisFaibles
Interaction utilisateurAucune
StatutCorrigé
Propriété de sécuritéVulnérableCorrigé
Limite de transport sur 16 bits appliquée❌✅
Débordement du compteur empêché❌✅
Pairs existants toujours utilisables✅✅
Taille de charge utile de diagnostic fiable❌✅
Écriture skb hors limites empêchée❌✅
Corruption de la mémoire du noyau atténuée❌✅
BrancheVersion corrigée
5.105.10.265
5.155.15.216
6.16.1.183
6.66.6.151
6.126.12.103
6.186.18.44
7.17.1.8
7.27.2-rc6