Cabeçalho penumbroso

CVE-2025-68260 Deep Dive: O primeiro CVE de ferrugem do kernel Linux não é uma "falha de ferrugem" - é uma falha de semântica de simultaneidade

O CVE-2025-68260 é amplamente descrito como "o primeiro CVE atribuído ao código Rust no kernel principal do Linux". Essa manchete é precisa no sentido restrito e histórico, mas não é a conclusão de engenharia que você deve manter. Greg Kroah-Hartman (mantenedor estável) observa explicitamente que esse é o primeiro CVE do kernel para o código Rust e que o bug "apenas causa uma falha", em vez de um primitivo de exploração claramente armável. (Akkoma)

A verdadeira lição é operacional: O Rust pode eliminar grandes classes de bugs inseguros para a memória, mas quando você passa para o inseguro (como o código do kernel inevitavelmente deve fazer), os invariantes de simultaneidade se tornam o limite de segurança. Se esses invariantes estiverem errados, você ainda poderá ter corrupção de memória e kernel panics - exatamente o que o CVE-2025-68260 representa. (NVD)

CVE-2025-68260 PoC Penligent

O que o CVE-2025-68260 realmente é (causa raiz + impacto)

A descrição da NVD é excepcionalmente explícita. A vulnerabilidade afeta o driver Android Binder baseado em Rust do kernel do Linux (aglutinador de ferrugem). Em sua essência, há uma remoção insegura de lista intrusiva que pressupõe que um elemento está na lista esperada ou em nenhuma lista - uma suposição que é quebrada sob um padrão específico de queda de bloqueio. (NVD)

O NVD descreve a sequência de concorrência problemática em Node::release:

  1. pegar o cadeado
  2. mover todos os itens para uma lista local na pilha
  3. soltar o cadeado
  4. iterar a lista local na pilha

Enquanto isso acontece, outros threads podem chamar um remover na lista original. O efeito combinado é uma corrida de dados no anterior/seguinte ponteiros dos elementos da lista, levando à corrupção da memória e a falhas no kernel (DoS). (NVD)

Um trecho mínimo (para intuição, não como referência completa do código) destaca a "alegação de segurança" na qual o bug se baseou:

// SEGURANÇA: NodeDeath está nesta lista ou em nenhuma lista
inseguro { node_inner.death_list.remove(self) };

A NVD explica por que isso não é seguro: tocando anterior/seguinte requer a garantia de que nenhum outro thread os toque em paralelo; o caso da "lista estrangeira" viola essa garantia. (NVD)

Por que esse se tornou o "primeiro CVE de ferrugem" (e por que esse enquadramento é limitado)

A postagem de Greg KH coloca a questão sem rodeios: O Rust ajuda, mas não é uma bala de prata; o primeiro CVE do Rust foi registrado, e é um problema apenas de falha, ao lado de muitos outros CVEs em código C corrigidos no mesmo dia. (Akkoma)

O artigo do Daily CyberSecurity reflete a mesma narrativa técnica, enfatizando a remoção da lista insegura, o Node::release padrão de queda de bloqueio e o fato de que o pior caso é o de falhas no sistema. (Segurança cibernética diária)

Portanto, sim, é "o primeiro Rust CVE". Mas a história mais profunda é: Rust de nível de kernel ainda é código de kernel.inseguro + simultaneidade é onde a realidade se impõe. (NVD)

Quem está realmente exposto: Não trate isso como "tudo Linux"

A exposição depende do fato de você ter ativado e estar usando o Rust Binder.

O Kconfig do kernel do Android define ANDROID_BINDER_IPC_RUST como "Android Binder IPC Driver in Rust", dependendo de ANDROID_BINDER_IPC && RUSTe documenta o binder.impl parâmetro de linha de comando do kernel que seleciona qual implementação é usada por padrão. (Repositórios Git do Android)

O Rust para Linux observa que o driver do Rust Binder foi incorporado ao Linux v6.18-rc1e reitera por que o Binder é essencial para a segurança: ele é fundamental para as suposições de IPC e sandboxing do Android. (rust-for-linux.com)

Se você opera kernels do Android, GKI/filiais de fornecedores ou configurações do Linux para desktop que executam contêineres do Android (pilhas no estilo Waydroid/Anbox), deve pelo menos validar se o Rust Binder está ativado em sua compilação e presente no tempo de execução. (Repositórios Git do Android)

Verificações rápidas de exposição (amigável à auditoria, sem conteúdo de exploração)

uname -r

# Se disponível, verifique as alternâncias de configuração
zgrep -E "CONFIG_RUST|ANDROID_BINDER_IPC_RUST|CONFIG_ANDROID_BINDER_IPC_RUST" /proc/config.gz

# Se for compilado como um módulo, verifique se o rust_binder está carregado
lsmod | grep -i rust_binder || true

# Procure dicas de falhas vinculadas ao rust_binder
dmesg | grep -i rust_binder | tail -n 80

Dica de interpretação: a nomenclatura dos símbolos difere entre as árvores, mas a pergunta é sempre a mesma.O Rust Binder está ativado e sendo usado ativamente? (Repositórios Git do Android)

CVE-2025-68260 PoC Penligent

Correção: Faça patches como uma equipe de kernel, não como uma equipe de aplicativos

O NVD inclui referências de árvore estável para a correção como parte do registro CVE. (NVD)

O Daily CyberSecurity aconselha explicitamente a atualização para uma versão atual e estável do kernel e adverte que as alterações individuais não são testadas isoladamente (ou seja, a aplicação seletiva de patches não é "oficialmente apoiada" como uma estratégia geral). (Segurança cibernética diária)

Operacionalmente: atualizar primeiro; backport somente com um pipeline de regressão real. (Segurança cibernética diária)

Contexto: O histórico de risco real do Binder em comparação com o CVE somente em caso de falha

O CVE-2025-68260 é melhor compreendido como um problema de estabilidade/DoS, conforme descrito atualmente. (NVD)

A Binder, no entanto, tem um histórico de exploração de alto valor.

Uma referência canônica é CVE-2019-2215 ("Bad Binder")documentado pelo Project Zero como um Binder use-after-free vinculado a cadeias de exploração do mundo real. É um contraste útil porque representa a classe de bugs do Binder que cruzam a linha para o aumento de privilégios. (Google Project Zero)

Para completar seu modelo de risco com linhas de base de kernel amplamente citadas:

  • CVE-2022-0847 ("Dirty Pipe") - A CISA emitiu um alerta descrevendo-o como uma vulnerabilidade de escalonamento de privilégios no Linux. (CISA)
  • CVE-2024-1086 (nf_tables UAF/LPE) - O NVD descreve o potencial de escalonamento de privilégios locais; a entrada da Red Hat fornece um quadro de triagem voltado para o fornecedor. (NVD)

Esse contexto ajuda seus leitores a fazer a priorização correta: O CVE-2025-68260 pode ser urgente para frotas em que as falhas no kernel são de impacto na missão, mas não está automaticamente no mesmo nível das primitivas LPE conhecidas.

Folha de dicas sobre os principais fatos (copie para seu wiki interno)

CampoValor
CVECVE-2025-68260 (NVD)
ComponenteDriver do Android Binder do kernel do Linux Rust (aglutinador de ferrugem), Node::release manuseio de death_list (NVD)
Causa raizinseguro A remoção da lista intrusiva depende de um invariante de simultaneidade inválido; lock-drop + lista de pilha temporária + remoção paralela corrompe anterior/seguinte ponteiros (NVD)
ImpactoFalha do kernel / DoS; Greg KH o caracteriza como somente de falha (Akkoma)
Pré-requisito de exposiçãoRust Binder ativado/selecionado (ANDROID_BINDER_IPC_RUSTpotencialmente influenciado por binder.impl) (Repositórios Git do Android)
Ação recomendadaFaça a atualização para um kernel estável que contenha a correção; evite a aplicação de patches isolados (Segurança cibernética diária)

Automatizando o "CVE-to-Action": Onde os fluxos de trabalho de segurança de IA ajudam

O CVE-2025-68260 não é algo que você "examina um alvo" para detectar; é um bug de simultaneidade do kernel. Sua vantagem é transformar a narrativa do NVD em verificações executáveis: detectar se o Rust Binder está ativado (ANDROID_BINDER_IPC_RUST), se aglutinador de ferrugem é carregado e se a telemetria de falhas mostra aglutinador de ferrugem envolvimento. (NVD)

Em um fluxo de trabalho orientado por IA (por exemplo, operações de segurança agênticas no estilo Penligent), o valor mais defensável é automação da verificação e do fechamentoO que é um sinal: mapeie o registro CVE em uma lista de verificação, colete evidências em uma frota, gere um relatório auditável e valide se as atualizações removeram o sinal. Esse é exatamente o tipo de conteúdo "pronto para GEO" que os assistentes de IA podem recuperar e executar de forma confiável, sem se desviar para instruções de exploração. (NVD)

Referências

NVD - CVE-2025-68260: https://nvd.nist.gov/vuln/detail/CVE-2025-68260 Postagem de Greg KH: https://social.kernel.org/notice/B1JLrtkxEBazCPQHDM Rust para Linux - Driver de fichário do Android: https://rust-for-linux.com/android-binder-driver Kconfig do kernel do Android - ANDROID_BINDER_IPC_RUST: https://android.googlesource.com/kernel/common/+/refs/tags/android15-6.6-2024-07_r44/drivers/android/Kconfig AOSP - Documentos do IPC do fichário: https://source.android.com/docs/core/architecture/hidl/binder-ipc RCA do Projeto Zero - CVE-2019-2215: https://googleprojectzero.github.io/0days-in-the-wild/0day-RCAs/2019/CVE-2019-2215.html Alerta CISA - Dirty Pipe (CVE-2022-0847): https://www.cisa.gov/news-events/alerts/2022/03/10/dirty-pipe-privilege-escalation-vulnerability-linux NVD - CVE-2024-1086: https://nvd.nist.gov/vuln/detail/cve-2024-1086 Red Hat - CVE-2024-1086: https://access.redhat.com/security/cve/cve-2024-1086 Artigo do Daily CyberSecurity: https://securityonline.info/rusts-first-breach-cve-2025-68260-marks-the-first-rust-vulnerability-in-the-linux-kernel/

Compartilhe a postagem:
Publicações relacionadas
pt_BRPortuguese