CVE-2022-49834 in Linuxinformação

Sumário

de VulDB • 12/06/2026

No kernel do Linux, a seguinte vulnerabilidade foi corrigida:

nilfs2: corrige bug de use-after-free em ns_writer durante remount

Se um sistema de arquivos nilfs2 for rebaixado para somente leitura devido à corrupção de metadados no disco e depois remontado como leitura/gravação (R/W), ou se uma operação de remount emergencial para somente leitura for realizada, a desvinculação do escritor de log (log writer) e a sincronização do sistema de arquivos podem ocorrer simultaneamente.

Nesses casos, um use-after-free do escritor de log (a seguir referido como nilfs->ns_writer) pode acontecer conforme mostrado no cenário abaixo:

Tarefa1 Tarefa2 -------------------------------- ------------------------------ nilfs_construct_segment nilfs_segctor_sync init_wait init_waitqueue_entry add_wait_queue schedule nilfs_remount (caso de remount R/W) nilfs_attach_log_writer nilfs_detach_log_writer nilfs_segctor_destroy kfree finish_wait _raw_spin_lock_irqsave __raw_spin_lock_irqsave do_raw_spin_lock debug_spin_lock_before <-- use-after-free

Enquanto a Tarefa1 está em suspensão, o nilfs->ns_writer é liberado pela Tarefa2. Após a Tarefa1 ser acordada (waked up), ela acessa o nilfs->ns_writer que já foi liberado. Este diagrama de cenário baseia-se na publicação de Shigeru Yoshida [1].

Este patch corrige o problema ao evitar a desvinculação do nilfs->ns_writer durante o remount, impedindo assim que essa corrida (race condition) de UAF ocorra. Junto com esta alteração, este patch também insere algumas verificações necessárias para somente leitura na instância superblock, onde anteriormente apenas o ponteiro ns_writer era usado para verificar se o sistema de arquivos estava em modo somente leitura.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsável

Linux

Reservar

01/05/2025

Divulgação

01/05/2025

Moderação

aceite

Entrada

VDB-307009

CPE

pronto

EPSS

0.00190

KEV

não

Atividades

muito baixo

Fontes

Do you want to use VulDB in your project?

Use the official API to access entries easily!