Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-74469 — Repositório de pesquisa para CVE-2026-74469 (DiagSpill), um overflow de contador de transporte de peer SCTP do kernel Linux que causa uma escrita fora dos limites, com PoC, análise de causa raiz e detalhes do patch. | Kitploit
Ferramentas/GitHubGitHub/0xblackash/cve-2026-74469
Escalada de PrivilégiosForensia de MemóriaAnálise de VulnerabilidadesExploraçãoPapers e PesquisaAprendizado e EducaçãoExploração de BináriosLabs e Prática
GitHub0xblackash/cve-2026-74469

CVE-2026-74469

Repositório de pesquisa para CVE-2026-74469 (DiagSpill), um overflow de contador de transporte de peer SCTP do kernel Linux que causa uma escrita fora dos limites, com PoC, análise de causa raiz e detalhes do patch.

há 8h 4mAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório

⚡ CVE-2026-74469 — DiagSpill

Estouro do Contador de Transportes de Peer do SCTP no Kernel Linux

Uma vulnerabilidade do SCTP no kernel Linux causada por um estouro do contador de transportes de peer de 16 bits, permitindo que o contador passe de 65535 para 0. Durante um dump de diagnóstico do SCTP, o valor estourado pode causar reserva insuficiente de payload do skb, seguida de uma escrita fora dos limites de dados de endereço de peer.


⚠️ Aviso Legal

Este repositório destina-se apenas a pesquisa de segurança autorizada, análise de vulnerabilidades de kernel, ambientes de CTF, depuração de kernel e testes defensivos.

Não utilize código de prova de conceito contra sistemas sem autorização explícita.


📌 Visão Geral da Vulnerabilidade

O aviso de CVE do Kernel Linux descreve o problema como um estouro de transport_count de 16 bits no SCTP, seguido de uma alocação subdimensionada de INET_DIAG_PEERS e uma escrita fora dos limites durante o dump de diagnóstico.


🧬 Descrição da Vulnerabilidade

O código vulnerável mantém o número de transportes de peer únicos em um contador de 16 bits:

root@kitploit:~
transport_count

Cada novo peer único adicionado incrementa o contador.

O limite crítico é:

root@kitploit:~
65535

Adicionar outro transporte único causa:

root@kitploit:~
65535 + 1
     ↓
     0

O wraparound resultante cria uma inconsistência entre:

root@kitploit:~
transport_count

e:

root@kitploit:~
transport_addr_list

O subsistema de diagnóstico posteriormente confia no contador estourado ao calcular o tamanho do buffer de resposta, enquanto ainda itera pela lista completa de endereços de peer.


🔬 Causa Raiz

A vulnerabilidade pode ser representada como:

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

O aviso upstream afirma especificamente que o 65.536º transporte faz o contador voltar a zero.


🧠 Por Que o Bug Acontece

O código de diagnóstico efetivamente depende de duas visões diferentes do mesmo estado.

Lado da alocação

root@kitploit:~
transport_count
       │
       ▼
payload size

Lado da cópia

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

Após o inteiro estourar:

root@kitploit:~
transport_count = 0

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

O alocador, portanto, reserva espaço com base em:

root@kitploit:~
0 peers

enquanto a operação de cópia ainda pode processar:

root@kitploit:~
65536 peer addresses

Essa incompatibilidade produz a violação de segurança de memória.


💥 Corrupção de Memória

O aviso do Kernel Linux descreve o dump de diagnóstico resultante como reservando um payload vazio e então escrevendo aproximadamente 8 MiB de endereços de peer além do tail do skb.

Conceitualmente:

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

A Red Hat classifica a falha como CWE-787: Escrita Fora dos Limites.


🔎 Caminho do Código Vulnerável

O caminho relevante pode ser resumido como:

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

O arquivo-fonte afetado é:

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

O anúncio de CVE do Kernel Linux identifica esse arquivo explicitamente.


🩹 Correção Upstream

A correção upstream é:

root@kitploit:~
bd0e9289e2642f6a5c54faad304ce0f41e926d22

Commit:

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

A correção rejeita um novo peer único quando:

root@kitploit:~
transport_count >= U16_MAX

É importante notar que a verificação ocorre após a busca por peer existente.

Isso preserva a capacidade de recuperar um transporte já existente mesmo quando a associação atingiu o limite.


🛡️ Lógica do Patch

Vulnerável

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

Corrigido

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

A propriedade de segurança importante é impedir que o contador estoure enquanto preserva a semântica normal de busca para um peer existente.


📊 Vulnerável vs Corrigido


💥 Impacto de Segurança

A corrupção de memória pode potencialmente resultar em:

  • Crash do kernel
  • Negação de serviço
  • Corrupção de memória do kernel
  • Escrita fora dos limites no kernel
  • Potencial escalação de privilégios
  • Potencial execução de código no kernel

Pesquisas públicas divulgadas após a divulgação relatam exploração local-root sob condições específicas, enquanto a pontuação original do CNA do Kernel Linux usa AV:L/AC:H/PR:L/UI:N.

A vulnerabilidade também é descrita como potencialmente alcançável remotamente sob circunstâncias muito específicas de configuração de SCTP/endereço, mas isso não deve ser tratado como equivalente a uma vulnerabilidade geralmente explorável remotamente.


🧪 Ambiente de Pesquisa

Topologia isolada recomendada:

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

Ferramentas úteis:

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

Verificar suporte a SCTP:

root@kitploit:~
lsmod | grep sctp

Verificar configuração do kernel:

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

🔎 Verificação do Kernel

Verificar o kernel em execução:

root@kitploit:~
uname -r

Verificar configuração do SCTP:

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

Verificar módulos SCTP carregados:

root@kitploit:~
lsmod | grep -i sctp

Inspecionar sockets SCTP:

root@kitploit:~
ss -A sctp

🧪 Fluxo de Reprodução

Para pesquisa controlada de kernel:

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

Monitorar a saída do kernel:

root@kitploit:~
sudo dmesg -w

Para depuração:

root@kitploit:~
gdb vmlinux

ou:

root@kitploit:~
pwndbg vmlinux

📂 Estrutura do Repositório

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

🛡️ Mitigação

A mitigação principal é atualizar para um kernel que contenha a correção upstream.

Para Debian/Kali:

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

Em seguida, reinicie:

root@kitploit:~
sudo reboot

Verifique:

root@kitploit:~
uname -r

Se o SCTP não for necessário, os administradores também podem considerar desabilitar a funcionalidade SCTP afetada de acordo com seu ambiente e requisitos operacionais. A pesquisa pública lista especificamente a desabilitação do SCTP / sctp_diag como mitigação imediata quando esses componentes não são utilizados.


📦 Versões de Kernel Corrigidas

O anúncio upstream de versões estáveis lista estas versões corrigidas:

Essas versões são do anúncio de CVE do Kernel Linux; as distribuições podem fazer backport da correção em pacotes com numeração de versão diferente.


🧩 Lições de Segurança

01 — Nunca permita que contadores limitados estourem silenciosamente

Um contador de 16 bits tem um máximo rígido:

root@kitploit:~
U16_MAX = 65535

Código sensível à segurança deve tratar explicitamente esse limite.

02 — Contagens de alocação e cópia devem coincidir

O tamanho usado para alocar um buffer deve corresponder ao número de objetos realmente copiados para dentro dele.

03 — Interfaces de diagnóstico são sensíveis à segurança

APIs de diagnóstico do kernel podem se tornar superfícies de ataque de corrupção de memória quando o estado interno se torna inconsistente.

04 — Bugs de inteiro podem se tornar bugs de segurança de memória

A primitiva original é um estouro de inteiro, mas o impacto de segurança resultante é uma escrita fora dos limites no kernel.

05 — O estado de rede do kernel é complexo

Associações SCTP podem conter grandes coleções de transportes de peer, tornando limites de contadores e lógica de gerenciamento de listas críticos para a segurança.


📚 Referências

  • CVE: CVE-2026-74469
  • Codename: DiagSpill
  • Subsistema: Linux SCTP
  • Arquivo afetado: net/sctp/associola.c
  • Função principal: sctp_assoc_add_peer()
  • Correção: sctp: prevent peer transport count overflow
  • Correção upstream: bd0e9289e2642f6a5c54faad304ce0f41e926d22
  • CWE: CWE-787 / Escrita Fora dos Limites
  • Aviso de CVE do Kernel Linux: CVE-2026-74469 advisory
  • Debian Security Tracker: CVE-2026-74469 Debian tracker
  • Red Hat: CVE-2026-74469 Red Hat advisory

⚡ DiagSpill

CVE-2026-74469

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


Pesquisar • Analisar • Reproduzir • Fortalecer


0xBlackash

Baixar ferramenta
CampoDetalhes
CVECVE-2026-74469
CodenameDiagSpill
ComponenteLinux Kernel
SubsistemaSCTP / sock_diag
Arquivo Afetadonet/sctp/associola.c
Função Principalsctp_assoc_add_peer()
Classe do BugEstouro de inteiro / Escrita fora dos limites
ImpactoCorrupção de memória do kernel
Impacto PotencialEscalação de privilégios local
CVSS v3.17.0 — Alta
Vetor de AtaqueLocal
Complexidade do AtaqueAlta
Privilégios NecessáriosBaixos
Interação do UsuárioNenhuma
StatusCorrigido
Propriedade de SegurançaVulnerávelCorrigido
Limite de transporte de 16 bits aplicado❌✅
Estouro do contador impedido❌✅
Peers existentes permanecem utilizáveis✅✅
Tamanho do payload de diagnóstico confiável❌✅
Escrita OOB no skb impedida❌✅
Corrupção de memória do kernel mitigada❌✅
BranchVersão Corrigida
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