CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's USB gadget subsystem, specifically in the f_midi2 driver, where a use-after-free condition can occur due to improper locking mechanisms. This flaw allows concurrent access to a freed memory pointer, potentially leading to system crashes or arbitrary code execution. Organizations using Linux systems with USB gadget functionalities should prioritize addressing this issue to mitigate risks associated with this race condition.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_midi2: fix use-after-free in string attribute show path f_midi2_opts_str_show() takes the string lock internally, but its callers dereference the opts->info.<field> pointer before calling it, outside the lock. This races with f_midi2_opts_str_store(), which frees the old string under opts->lock when the attribute is written concurrently, the show path can read a pointer that gets freed before the lock inside str_show() is even taken. Change f_midi2_opts_str_show() to take a pointer to the string field, matching the existing pattern in f_midi2_opts_str_store(), and dereference it only after the lock is held. Update all three callers (iface_name, block name, and the EP string option macro) accordingly.