CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's USB gadget functionality, specifically in the handling of the ndp_index variable, which is incorrectly declared as a signed integer. An attacker can exploit this flaw by providing a large offset, causing an overflow that results in a negative value, thereby bypassing sanity checks and potentially leading to out-of-bounds memory access. Organizations utilizing affected Linux systems, particularly those with USB gadget implementations, should prioritize addressing this vulnerability to mitigate risks of exploitation.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_ncm: Use unsigned int for ndp_index The variable ndp_index is declared as a signed integer, but it stores the return value of get_ncm(), which is unsigned. A malicious host can supply a large offset that overflows the signed ndp_index, making it negative. Because ndp_index is compared against unsigned bounds, this negative value bypasses sanity checks and leads to an out-of-bounds read when calculating the address of the NDP block (ntb_ptr + ndp_index). Fix this by changing ndp_index to unsigned int to ensure consistent unsigned comparisons throughout the function.