Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-68121 — Repositório de pesquisa para CVE-2026-68121, um use-after-free no PPPoE do kernel Linux em pppoe_sendmsg() que permite escalonamento local de privilégios, com PoC, análise de causa raiz e configuração de laboratório. | Kitploit
Ferramentas/GitHubGitHub/0xblackash/cve-2026-68121
Escalada de PrivilégiosForensia de MemóriaAnálise de VulnerabilidadesExploraçãoEngenharia ReversaPapers e PesquisaAprendizado e EducaçãoExploração de BináriosLabs e Prática
GitHub0xblackash/cve-2026-68121

CVE-2026-68121

Repositório de pesquisa para CVE-2026-68121, um use-after-free no PPPoE do kernel Linux em pppoe_sendmsg() que permite escalonamento local de privilégios, com PoC, análise de causa raiz e configuração de laboratório.

166há 1 mêsAinda 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-68121 - PPPoEject

Gemini_Generated_Image_f5uscnf5uscnf5us (1)

Use-After-Free no PPPoE do Kernel Linux → Escalação de Privilégios Local

Uma vulnerabilidade de corrupção de memória no kernel Linux no caminho de transmissão do PPPoE, causada por um ponteiro obsoleto para um cabeçalho sk_buff após um callback de cabeçalho de dispositivo realocar a cabeça do skb.


⚠️ Aviso Legal

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

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


📌 Visão Geral da Vulnerabilidade

CampoDetalhes
CVECVE-2026-68121
CodenamePPPoEject
ComponenteKernel Linux
SubsistemaPPPoE / Rede
Arquivo Afetadodrivers/net/ppp/pppoe.c
Função Principalpppoe_sendmsg()
Classe do BugUse-After-Free
ImpactoCorrupção de memória do kernel
Impacto PotencialEscalação de Privilégios Local
CVSS v3.17.8 — Alta
Vetor de AtaqueLocal
Complexidade do AtaqueBaixa
Privilégios NecessáriosBaixos
Interação do UsuárioNenhuma
StatusCorrigido

O registro do CVE identifica a vulnerabilidade como um ponteiro de cabeçalho PPPoE obsoleto que pode se tornar inválido quando dev_hard_header() realoca a cabeça do skb.


🧬 Descrição da Vulnerabilidade

A vulnerabilidade existe em:

drivers/net/ppp/pppoe.c

dentro de:

pppoe_sendmsg()

A sequência vulnerável é, conceitualmente:

pppoe_sendmsg()
      │
      ▼
Save PPPoE header pointer
      │
      ▼
dev_hard_header()
      │
      ▼
skb head may be reallocated
      │
      ▼
Old pointer becomes stale
      │
      ▼
PPPoE writes through stale pointer
      │
      ▼
Use-After-Free
      │
      ▼
Kernel memory corruption

O código de rede do Linux permite que os callbacks de cabeçalho de dispositivo realoquem a cabeça do sk_buff. Portanto, um ponteiro para a cabeça antiga não pode ser reutilizado com segurança depois que dev_hard_header() retorna.


🔬 Causa Raiz

O problema central é uma violação de tempo de vida.

pppoe_sendmsg() obtém um ponteiro para o cabeçalho PPPoE antes de invocar:

dev_hard_header()

No entanto, esse callback pode fazer com que a cabeça do skb se mova.

Conceitualmente:

Before callback:

skb
┌──────────────────────────────┐
│ Ethernet │ PPPoE │ Payload   │
└──────────┴───────┴───────────┘
           ▲
           │
       stale pointer


After skb expansion:

old skb head ──X──► freed

new skb head
┌────────────────────────────────────┐
│ Ethernet │ PPPoE │ Payload         │
└──────────┴───────┴─────────────────┘
           ▲
           │
      valid location

O ponteiro antigo ainda referencia a alocação liberada.

Quando o PPPoE subsequentemente escreve o cabeçalho através desse ponteiro, o kernel realiza uma gravação use-after-free.


🧠 Condição de Acionamento

O acionamento documentado envolve uma condição de corrida em torno de copy_from_user() e alterações nas operações de cabeçalho de um dispositivo team.

Uma sequência descrita é:

PPPoE sendmsg()
      │
      ▼
copy_from_user() blocks
      │
      │
      ├───────────────┐
      │               │
      ▼               ▼
Team device changes   First non-Ethernet
header operations     port is added
                      │
                      ▼
               Delegated GRE callback
                      │
                      ▼
               skb head expansion
      │               │
      └───────────────┘
              │
              ▼
       stale PPPoE pointer
              │
              ▼
       use-after-free write

O registro CVE observa que isso pode ocorrer quando a primeira porta não Ethernet é adicionada a um dispositivo team vazio e o callback do cabeçalho GRE delegado expande o cabeçalho skb.


💥 Impacto de Segurança

A vulnerabilidade pode resultar em:

  • Use-after-free no heap do kernel
  • Corrupção de memória do kernel
  • Travamento do kernel / negação de serviço
  • Potencial divulgação de memória do kernel
  • Potencial modificação arbitrária de memória do kernel
  • Potencial execução de código no kernel
  • Escalonamento de privilégios local

O vetor CVSS publicado da CVE é:

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

com uma pontuação base de 7.8 Alta.


🔎 Superfície de Ataque Técnica

Os componentes relevantes são:

PF_PPPOX / PPPoE socket
          │
          ▼
    pppoe_sendmsg()
          │
          ▼
     sk_buff (skb)
          │
          ▼
  dev_hard_header()
          │
          ▼
 Network device header callback
          │
          ▼
 Potential skb head expansion
          │
          ▼
 PPPoE stale header pointer
          │
          ▼
     UAF write

O código vulnerável, portanto, não é simplesmente um analisador genérico de pacotes PPPoE; a condição crítica é a interação entre a transmissão de socket PPPoE e a realocação dinâmica do cabeçalho skb.


🩹 Correção Upstream

A correção upstream tem o título:

pppoe: reload header pointer after dev_hard_header()

A correção recarrega o cabeçalho PPPoE através do network-header offset do skb após a criação do cabeçalho do dispositivo.

A propriedade importante é:

Before:

header pointer
      │
      ▼
dev_hard_header()
      │
      ▼
skb moves
      │
      ▼
pointer = stale ❌


After:

dev_hard_header()
      │
      ▼
skb may move
      │
      ▼
reload header using skb offset
      │
      ▼
pointer = valid ✅

pskb_expand_head() atualiza o deslocamento relevante do skb quando a cabeça do skb é realocada, tornando a busca baseada em deslocamento segura após a realocação.


📊 Vulnerável vs Corrigido

Propriedade de SegurançaVulnerávelCorrigido
Ponteiro de cabeçalho salvo antes do callback✅—
A cabeça do skb pode se mover✅✅
Ponteiro atualizado após o callback❌✅
Desreferência de ponteiro obsoletoPossívelPrevenido
Escrita use-after-freePossívelMitigado
Corrupção de memória do kernelPossívelMitigado

🧪 Ambiente de Pesquisa

Um laboratório controlado pode ser estruturado como:

Baixar ferramenta