CVE-2026-23377
Received Received - Intake
Integer Underflow in Linux ice Driver Causes Kernel Panic

Publication date: 2026-03-25

Last updated on: 2026-04-28

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: ice: change XDP RxQ frag_size from DMA write length to xdp.frame_sz The only user of frag_size field in XDP RxQ info is bpf_xdp_frags_increase_tail(). It clearly expects whole buff size instead of DMA write size. Different assumptions in ice driver configuration lead to negative tailroom. This allows to trigger kernel panic, when using XDP_ADJUST_TAIL_GROW_MULTI_BUFF xskxceiver test and changing packet size to 6912 and the requested offset to a huge value, e.g. XSK_UMEM__MAX_FRAME_SIZE * 100. Due to other quirks of the ZC configuration in ice, panic is not observed in ZC mode, but tailroom growing still fails when it should not. Use fill queue buffer truesize instead of DMA write size in XDP RxQ info. Fix ZC mode too by using the new helper.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-25
Last Modified
2026-04-28
Generated
2026-05-07
AI Q&A
2026-03-25
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 3 associated CPEs
Vendor Product Version / Range
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel From 6.3 (inc) to 6.19.7 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability exists in the Linux kernel's ice driver related to the XDP (eXpress Data Path) RxQ frag_size field. The frag_size was incorrectly set from the DMA write length instead of the full buffer size (xdp.frame_sz). This mismatch causes negative tailroom due to different assumptions in the driver configuration.

Specifically, the function bpf_xdp_frags_increase_tail() expects the whole buffer size, but the ice driver provided only the DMA write size, leading to errors.

This flaw can trigger a kernel panic when using the XDP_ADJUST_TAIL_GROW_MULTI_BUFF xskxceiver test with certain large packet sizes and offsets.

The vulnerability was fixed by changing the frag_size to use the fill queue buffer truesize instead of the DMA write size, and also fixing the zero-copy (ZC) mode accordingly.


What immediate steps should I take to mitigate this vulnerability?

The vulnerability has been resolved by changing the XDP RxQ frag_size from DMA write length to xdp.frame_sz in the ice driver of the Linux kernel.

Immediate mitigation involves updating the Linux kernel to a version that includes this fix, which uses the fill queue buffer truesize instead of DMA write size in XDP RxQ info and fixes the zero-copy (ZC) mode by using the new helper.


How can this vulnerability impact me? :

This vulnerability can cause a kernel panic, which is a system crash in the Linux kernel.

A kernel panic can lead to denial of service by crashing the system unexpectedly, potentially causing downtime and loss of availability.

The panic can be triggered by specific network packet sizes and offsets when using XDP features, which may be exploited in certain network environments.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart