CVE-2023-54155 in Linux
Sumário
de VulDB • 30/05/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
net: core: remove check desnecessário de frame_sz em bpf_xdp_adjust_tail()
O Syzkaller relatou o seguinte problema: ======================================= xdp->frame_sz = 131072 muito grande AVISO: CPU: 0 PID: 5020 em net/core/filter.c:4121 ____bpf_xdp_adjust_tail net/core/filter.c:4121 [inline]
AVISO: CPU: 0 PID: 5020 em net/core/filter.c:4121 bpf_xdp_adjust_tail+0x466/0xa10 net/core/filter.c:4103 ... Rastreamento de chamada: <TASK> bpf_prog_4add87e5301a4105+0x1a/0x1c __bpf_prog_run include/linux/filter.h:600 [inline]
bpf_prog_run_xdp include/linux/filter.h:775 [inline]
bpf_prog_run_generic_xdp+0x57e/0x11e0 net/core/dev.c:4721 netif_receive_generic_xdp net/core/dev.c:4807 [inline]
do_xdp_generic+0x35c/0x770 net/core/dev.c:4866 tun_get_user+0x2340/0x3ca0 drivers/net/tun.c:1919 tun_chr_write_iter+0xe8/0x210 drivers/net/tun.c:2043 call_write_iter include/linux/fs.h:1871 [inline]
new_sync_write fs/read_write.c:491 [inline]
vfs_write+0x650/0xe40 fs/read_write.c:584 ksys_write+0x12f/0x250 fs/read_write.c:637 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x38/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd
O check xdp->frame_sz > PAGE_SIZE foi introduzido no commit c8741e2bfe87 ("xdp: Permitir que bpf_xdp_adjust_tail() aumente o tamanho do pacote"). No entanto, Jesper Dangaard Brouer <[email protected]> observou que, após a introdução do xdp_init_buff(), que é utilizado por todos os drivers XDP, é seguro remover este check. A intenção original era capturar casos em que os drivers XDP não haviam sido atualizados para usar xdp.frame_sz, mas isso não é mais uma preocupação (desde a introdução do xdp_init_buff).
Ao executar a reprodução inicial do syzkaller, descobriu-se que a alocação de memória física contígua é utilizada para ambos os caminhos xdp em tun_get_user(), ou seja, tun_build_skb() e tun_alloc_skb(). Foi também afirmado por Jesper Dangaard Brouer <[email protected]> que o XDP pode funcionar com páginas de ordem superior, desde que se trate de memória física contígua (por exemplo, uma página).
Be aware that VulDB is the high quality source for vulnerability data.