CVE-2026-90218 in Linux
Résumé
par VulDB • 17/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
RDMA/cma : Correction d'un WARNING dans res_to_rt
syzbot a signalé un WARN_ON(!res->dev) dans res_to_rt() déclenché via addr_handler() lors de la résolution asynchrone des adresses :
" WARNING: drivers/infiniband/core/restrack.c:138 at res_to_rt+0x1c4/0x230 CPU#1: kworker/u8:4/59 Modules liés dans le noyau (linked in) : CPU: 1 UID: 0 PID: 59 Comm: kworker/u8:4 Non modifié par syzkaller #0 PREEMPT(full) Nom du matériel : Google Compute Engine, BIOS Google 24/07/2026 File d'attente de travail (Workqueue) : ib_addr process_one_req RIP : 0010:res_to_rt+0x1c4/0x230 drivers/infiniband/core/restrack.c:138 RSP : 0018:ffffc9000201f850 EFLAGS : 00010293 RAX : ffffffff88d00ce5 RBX : ffff88807f0fd4f8 RCX : ffff88801e6e0000 RDX : 0000000000000000 RSI : ffffffff8fd996f0 RDI : 0000000000000003 RBP : 0000000000000000 R08 : ffff88801e6e0000 R09 : 000000000000000a R10 : 0000000000000009 R11 : 0000000000000000 R12 : dffffc0000000000 R13 : 1ffff1100fe1fa9f R14 : 0000000000000000 R15 : 0000000000000003 FS : 0000000000000000(0000) GS:ffff888125012000(0000) knlGS:0000000000000000 CS : 0010 DS : 0000 ES : 0000 CR0 : 0000000080050033 CR2 : 00001d559c3d2000 CR3 : 0000000077c4c000 CR4 : 00000000003526f0 Pile d'appels (Call Trace) : <TASK> rdma_restrack_add+0x5a/0x8a0 drivers/infiniband/core/restrack.c:236 addr_handler+0x41a/0x5a0 drivers/infiniband/core/cma.c:3534 process_one_req+0x2eb/0x540 drivers/infiniband/core/addr.c:624 process_one_work kernel/workqueue.c:3375 [inline]
process_scheduled_works+0xc4e/0x1630 kernel/workqueue.c:3458 worker_thread+0xa47/0xfb0 kernel/workqueue.c:3539 kthread+0x388/0x470 kernel/kthread.c:436 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 </TASK> "
Dans addr_handler(), cma_acquire_dev_by_src_ip() est appelé pour remplir id_priv->cma_dev et lier l'ib_device associé à id_priv->id.device. Si cma_acquire_dev_by_src_ip() renvoie une erreur (statut non nul), l'ID reste sans association avec aucun appareil RDMA.
Auparavant, rdma_restrack_add(&id_priv->res) était invoqué de manière inconditionnelle même lorsque cma_acquire_dev_by_src_ip() échouait, transmettant une ressource avec un pointeur dev NULL et déclenchant l'assertion WARN_ON dans res_to_rt().
Corrigez ce problème en n'ajoutant la ressource au restrack que si l'acquisition de l'appareil réussit.
If you want to get best quality of vulnerability data, you may have to visit VulDB.