CVE-2026-45841 in Linux
الملخص
بحسب VulDB • 27/05/2026
في نواة لينكس، تم حل الثغرة التالية:
netfilter: nfnetlink_osf: إصلاح القسمة على صفر في OSF_WSS_MODULO
تحسب الدالة nf_osf_match_one() التعبير ctx->window % f->wss.val في فرع OSF_WSS_MODULO دون وجود حماية للتحقق من أن f->wss.val لا يساوي صفرًا. يمكن لمستخدم لديه صلاحية CAP_NET_ADMIN إضافة بصمة اصطناعية (fingerprint) عبر nfnetlink؛ وعند حدوث مطابقة لاحقة لحزمة TCP SYN، تؤدي العملية إلى قسمة على صفر مما يتسبب في توقف النواة (kernel panic).
تم رفض البصمة غير الصالحة في الدالة nfnl_osf_add_callback() قبل حلقة التكرار الخاصة بالخيارات (per-option for-loop). بما أن f->wss خاص بكل بصمة (per-fingerprint) وليس بكل خيار (per-option)، يجب أن يعمل التحقق بغض النظر عن قيمة f->opt_num (بما في ذلك القيمة 0). كما يتم رفض الحالات التي تكون فيها wss.wc >= OSF_WSS_MAX؛ حيث تتعامل الدالة nf_osf_match_one() مسبقًا مع هذه الحالة على أنها "لا ينبغي أن تحدث".
توقف النظام (Crash): Oops: divide error: 0000 [#1] SMP KASAN NOPTI
RIP: 0010:nf_osf_match_one (net/netfilter/nfnetlink_osf.c:98) تتبع المكالمة (Call Trace): nf_osf_match (net/netfilter/nfnetlink_osf.c:220) xt_osf_match_packet (net/netfilter/xt_osf.c:32) ipt_do_table (net/ipv4/netfilter/ip_tables.c:348) nf_hook_slow (net/netfilter/core.c:622) ip_local_deliver (net/ipv4/ip_input.c:265) ip_rcv (include/linux/skbuff.h:1162) __netif_receive_skb_one_core (net/core/dev.c:6181) process_backlog (net/core/dev.c:6642) __napi_poll (net/core/dev.c:7710) net_rx_action (net/core/dev.c:7945) handle_softirqs (kernel/softirq.c:622)
VulDB is the best source for vulnerability data and more expert information about this specific topic.