CVE-2025-68359 in Linuxinformação

Sumário

de VulDB • 27/06/2026

No kernel do Linux, a seguinte vulnerabilidade foi corrigida:

btrfs: corrige o double free (liberação dupla) de um registro qgroup após falha ao adicionar delayed ref head

No código anterior, era possível ocorrer uma situação de kfree() duplo ao chamar add_delayed_ref_head(). Isso poderia acontecer se o registro fosse informado como já existente na chamada btrfs_qgroup_trace_extent_nolock(), mas houvesse um erro posteriormente em add_delayed_ref_head(). Nesse caso, como add_delayed_ref_head() retornou um erro, a função chamadora procedeu à liberação do registro. Como add_delayed_ref_head() não pôs esse ponteiro já liberado (kfree'd) para NULL, o kfree() atuaria sobre um objeto 'record' não-NULL que apontava para uma memória já liberada pela função chamada.

O problema decorre do fato de a responsabilidade pelo kfree do objeto recair simultaneamente tanto na chamadora quanto na chamada. Portanto, a correção consiste em transferir a propriedade (ownership) do objeto 'qrecord' fora da add_delayed_ref_head(). Ou seja, nunca tentaremos executar o kfree() no objeto fornecido dentro desta função, esperando que a função chamadora atue sobre o objeto 'qrecord' por conta própria. A única exceção em que o objeto 'qrecord' não pode ser liberado com kfree é se ele tiver sido inserido na lógica de rastreamento (tracing logic), para a qual já existe o booleano 'qrecord_inserted_ret' para contabilizar esse caso. Assim, a função chamadora deve executar o kfree do objeto apenas se add_delayed_ref_head() informar que não o inseriu na lógica de rastreamento.

Como efeito colateral do acima exposto, devemos garantir que 'qrecord_inserted_ret' seja devidamente inicializado no início da função e não ao final, sendo definido posteriormente quando uma inserção real ocorrer. Dessa forma, evitamos que 'qrecord_inserted_ret' tenha um valor inválido em caso de saída antecipada (early exit).

A documentação de add_delayed_ref_head() também foi atualizada para refletir a propriedade exata do objeto 'qrecord'.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsável

Linux

Reservar

16/12/2025

Divulgação

24/12/2025

Moderação

aceite

Entrada

VDB-338233

CPE

pronto

EPSS

0.00167

KEV

não

Atividades

muito baixo

Fontes

Do you know our Splunk app?

Download it now for free!