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-52924 — Análise técnica da CVE-2026-52924, um use-after-free crítico no tratamento de cookies obsoletos do SCTP no kernel Linux, incluindo causa raiz, fluxo de ataque, correção e métodos de detecção. | Kitploit
Ferramentas/GitHubGitHub/eliot-code/cve-2026-52924
Análise de VulnerabilidadesExploraçãoPapers e PesquisaAprendizado e EducaçãoExploração de Binários
GitHubeliot-code/cve-2026-52924

CVE-2026-52924

Análise técnica da CVE-2026-52924, um use-after-free crítico no tratamento de cookies obsoletos do SCTP no kernel Linux, incluindo causa raiz, fluxo de ataque, correção e métodos de detecção.

Ver Repositório
há 10h 22mAinda 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

CVE-2026-52924: Use-After-Free no SCTP no Tratamento de Cookies Obsoletos

Resumo da Vulnerabilidade

ID CVE: CVE-2026-52924
Gravidade: CRÍTICA (CVSS 9.8)
Componente: Kernel Linux - SCTP (Stream Control Transmission Protocol)
Tipo: Use-After-Free (CWE-416, CWE-825)
Publicado: 2026-06-24
Status: Corrigido

Versões Afetadas

  • Kernel Linux < 5.10.259
  • Kernel Linux < 5.15.210
  • Kernel Linux < 6.1.176
  • Kernel Linux < 6.6.143
  • Kernel Linux < 6.12.94
  • Kernel Linux < 6.18.36
  • Kernel Linux < 7.0.13
  • Kernel Linux < 7.1

Detalhes Técnicos

Causa Raiz

A vulnerabilidade ocorre no tratamento de pacotes COOKIE-ECHO obsoletos pela máquina de estados do SCTP. O problema envolve a limpeza inadequada da fila de transmissão de saída quando uma associação é revertida.

Fluxo do Ataque

  1. Operação Normal: A associação passa para o estado COOKIE_ECHOED
  2. Dados do Usuário Enfileirados: A aplicação envia dados, que são enfileirados para transmissão
  3. Erro de Cookie Obsoleto: O peer remoto envia um erro de Stale Cookie
  4. Reversão Acionada: A associação reverte de COOKIE_ECHOED → COOKIE_WAIT
  5. Estado do Stream Atualizado: sctp_stream_update() libera a tabela de streams antiga e instala uma nova
  6. Ponteiro Inválido: stream->out_curr ainda aponta para a entrada sctp_stream_out liberada
  7. Acesso na Desenfileiração: Quando o escalonador tenta desenfileirar (FCFS, RR, PRIO), ele acessa out_curr->ext
  8. Use-After-Free: O acesso à memória liberada → falha do kernel via detecção KASAN

Fluxo de Código Problemático

root@kitploit:~
sctp_sf_do_5_2_6_stale():
  ├─ Recebe erro de Stale Cookie
  ├─ Reverte o estado da associação
  └─ Chama sctp_stream_update()
       ├─ Libera a tabela de streams antiga
       ├─ Instala a nova tabela de streams
       └─ BUG: stream->out_curr NÃO é invalidado ❌

Posteriormente, ao desenfileirar:
  sctp_sched_fcfs_dequeue():
    └─ Acessa stream->out_curr->ext  (MEMÓRIA LIBERADA) 💥

Exemplo de Falha

root@kitploit:~
BUG: KASAN: slab-use-after-free in sctp_sched_fcfs_dequeue+0x13a/0x140
Read of size 8 at addr ff1100004d4d3208 by task mini_poc/9312
CPU: 1 UID: 1001 PID: 9312 Comm: mini_poc Not tainted 7.1.0-rc1-00305-gbd3a4795d574 #5 PREEMPT(full)

Call trace:
  sctp_sched_fcfs_dequeue+0x13a/0x140
  sctp_outq_flush+0x1603/0x33e0
  sctp_do_sm+0x31c9/0x5d30
  sctp_assoc_bh_rcv+0x392/0x6f0
  sctp_inq_push+0x1db/0x270
  sctp_rcv+0x138d/0x3c10

Por Que Simplesmente Atualizar out_curr É Insuficiente

Uma correção ingênua poderia ser apenas limpar stream->out_curr:

root@kitploit:~
// CORREÇÃO INSUFICIENTE ❌
stream->out_curr = NULL;

Problema: A fila de saída ainda contém:

  • Chunks de dados enfileirados referenciando o estado antigo do stream
  • Entradas da fila de retransmissão apontando para streams antigos
  • Chunks de controle agrupados com metadados de streams antigos

Essas referências obsoletas ainda causarão use-after-free quando acessadas.

A Correção Correta

Solução: Purgar completamente a fila de saída da associação durante o tratamento de cookies obsoletos.

root@kitploit:~
// CORREÇÃO CORRETA ✓
sctp_outq_free(&asoc->outqueue);

Isso garante:

  1. Todos os dados de transmissão pendentes são descartados
  2. Todas as entradas da fila de retransmissão são liberadas
  3. Ponteiros em cache do escalonador (out_curr, etc.) são invalidados
  4. O estado do stream pode ser reconstruído com segurança durante o reinício em COOKIE_WAIT
  5. Nenhuma referência pendente a entradas de stream liberadas

Local da Implementação

Arquivo: net/sctp/sm_statefuns.c
Função: sctp_sf_do_5_2_6_stale()
Adição: Chamar sctp_outq_free(&asoc->outqueue) antes de sctp_stream_update()

root@kitploit:~
enum sctp_disposition sctp_sf_do_5_2_6_stale(...)
{
    // ... código existente ...
    
    // Purgar a fila de saída antes de reconstruir o estado do stream
    sctp_outq_free(&asoc->outqueue);
    
    // Agora é seguro atualizar o stream
    sctp_stream_update(&asoc->stream, &asoc->c.h_init_tag);
    
    // ... restante da função ...
}

Análise de Impacto

Fatores de Gravidade (CVSS 9.8)

  • Vetor de Ataque: Rede (CVSS:3.1/AV:N)
  • Complexidade do Ataque: Baixa (CVSS:3.1/AC:L)
  • Privilégios Necessários: Nenhum (CVSS:3.1/PR:N)
  • Interação do Usuário: Nenhuma (CVSS:3.1/UI:N)
  • Escopo: Inalterado (CVSS:3.1/S:U)
  • Impacto na Confidencialidade: Alto (CVSS:3.1/C:H)
  • Impacto na Integridade: Alto (CVSS:3.1/I:H)
  • Impacto na Disponibilidade: Alto (CVSS:3.1/A:H)

Requisitos de Exploração

  1. Acesso de rede ao sistema alvo (porta SCTP aberta)
  2. Capacidade de enviar pacotes SCTP para estabelecer conexão
  3. Enviar erro de Stale Cookie em um momento específico (estado COOKIE_ECHOED)
  4. Acionar a operação de desenfileiramento do escalonador

Cenários de Ataque

  1. Negação de Serviço: Derrubar o kernel repetidamente → DoS
  2. Divulgação de Informações: Ler memória do kernel via UAF
  3. Escalação de Privilégios: Potencial por meio de manipulação de memória
  4. Execução Remota de Código: Possível com exploração de corrupção de memória

Métodos de Detecção

Detecção KASAN (Tempo de Execução)

root@kitploit:~
# Habilitar KASAN na configuração do kernel
CONFIG_KASAN=y
CONFIG_KASAN_GENERIC=y

# A saída em tempo de execução mostra:
BUG: KASAN: slab-use-after-free

Análise Estática

root@kitploit:~
# Procurar acesso inseguro a stream->out_curr sem validação
grep -r "out_curr->ext" net/sctp/
grep -r "out_curr->" net/sctp/sched*.c

Detecção de Rede

  • Monitorar pacotes de erro SCTP Stale Cookie (Tipo 3, Código 1)
  • Rastrear padrões de reversão de conexão
  • Alertar sobre transições rápidas COOKIE_ECHOED → COOKIE_WAIT

Estratégias de Mitigação

Mitigações Temporárias (Até a Correção)

  1. Desabilitar SCTP: Remover o módulo SCTP ou bloquear as portas SCTP (132, 132 UDP)

    root@kitploit:~
    echo "install sctp /bin/true" >> /etc/modprobe.d/sctp-disable.conf
    
  2. Regras de Firewall: Bloquear tráfego SCTP no limite da rede

    root@kitploit:~
    iptables -A INPUT -p sctp -j DROP
    
  3. Versão do Kernel: Atualizar para versões corrigidas

    • 5.10.259+
    • 5.15.210+
    • 6.1.176+
    • 6.6.143+
    • 6.12.94+
    • 6.18.36+
    • 7.0.13+
    • 7.1+ (mais recente)

Correção Permanente

Aplicar o patch do kernel que chama sctp_outq_free() em sctp_sf_do_5_2_6_stale().

Referências

  • CWE-416: Use After Free
  • CWE-825: Expired Pointer Dereference
  • Calculadora CVSS: https://www.first.org/cvss/calculator/3.1
  • Entrada NVD: CVE-2026-52924
  • Segurança do Kernel Linux: https://www.kernel.org/doc/html/latest/security/

Recomendações de Teste

Testes Unitários

  1. Verificar se sctp_outq_free() invalida corretamente out_curr
  2. Verificar se todos os dados enfileirados são liberados durante outq_free
  3. Verificar se a fila de retransmissão é limpa
  4. Testar o comportamento do escalonador após a purga da outq

Testes de Integração

  1. Fluxo normal de recuperação de cookie obsoleto
  2. Dados em trânsito quando o cookie obsoleto é recebido
  3. Múltiplos cookies obsoletos rápidos
  4. Diferentes escalonadores SCTP (FCFS, RR, PRIO)

Testes de Fuzzing

  1. Enviar pacotes SCTP com erros de cookie obsoleto
  2. Variar o momento da injeção do erro
  3. Variar a quantidade de dados em trânsito
  4. Testar sob condições de alta carga

Linha do Tempo

  • 2026-06-24: Vulnerabilidade divulgada publicamente
  • Status: Correção disponível
  • Pontuação EPSS: 0,3% (percentil 27)
    • Baixa probabilidade de exploração
    • Requer condições de rede específicas
    • Poucos exploits do mundo real indexados

Autor: Elliot Versão do Documento: 1.0
Última Atualização: 2026-09-07
Classificação: Informação Pública

Baixar ferramenta