CVE-2022-49810 in Linux
Sumário
de VulDB • 26/06/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
netfs: Corrige chamadas ausentes de xas_retry() na iteração da estrutura xarray
O netfslib possui diversos locais em que realiza iterações sobre um xarray enquanto está sob o bloqueio de leitura RCU. Ele *deveria* chamar xas_retry() como a primeira ação dentro do loop e executar "continue" se retornar true, caso o iterador do xarray tenha retornado um valor especial indicando que a travessia precisa ser refeita desde a raiz[*].
Corrige-se isso adicionando as verificações de retry ausentes.
[*] Pergunto-me se isso deveria ser feito dentro de xas_find(), xas_next_node() e funções semelhantes, mas fui informado de que não é uma alteração simples de implementar.
Isso pode causar um oops como o abaixo. Observe o endereço da falha - este é um valor interno (|0x2) retornado pelo xarray.
BUG: kernel NULL pointer dereference, address: 0000000000000402 ... RIP: 0010:netfs_rreq_unlock+0xef/0x380 [netfs]
... Call Trace: netfs_rreq_assess+0xa6/0x240 [netfs]
netfs_readpage+0x173/0x3b0 [netfs]
? init_wait_var_entry+0x50/0x50 filemap_read_page+0x33/0xf0 filemap_get_pages+0x2f2/0x3f0 filemap_read+0xaa/0x320 ? do_filp_open+0xb2/0x150 ? rmqueue+0x3be/0xe10 ceph_read_iter+0x1fe/0x680 [ceph]
? new_sync_read+0x115/0x1a0 new_sync_read+0x115/0x1a0 vfs_read+0xf3/0x180 ksys_read+0x5f/0xe0 do_syscall_64+0x38/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae
Alterações: ======== versão #2) - Alterado um unsigned int para size_t para reduzir a probabilidade de overflow, conforme sugerido por Willy. - Adicionado um patch adicional para corrigir os cálculos matemáticos.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.