High · published July 24, 2026
In the Linux kernel, the following vulnerability has been resolved:
fbdev: modedb: fix a possible UAF in fb_find_mode()
If mode_option is NULL, it is assigned from mode_option_buf:
if (!mode_option) {
fb_get_options(NULL, &mode_option_buf);
mode_option = mode_option_buf;
}
Later, name is assigned from mode_option:
const char *name = mode_option;
However, mode_option_buf is freed before name is no longer used:
kfree(mode_option_buf);
while name is still accessed by:
if ((name_matches(db[i], name, namelen) ||
Since name aliases mode_option_buf, this may result in a
use-after-free.
Fix this by extending the lifetime of mode_option_buf until the end of the
function by using scope-based resource management for cleanup.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 6.4, < 6.6.144 | 6.6.144 |
| linux/linux_kernel | ≥ 6.7, < 6.12.95 | 6.12.95 |
| linux/linux_kernel | ≥ 6.13, < 6.18.38 | 6.18.38 |
| linux/linux_kernel | ≥ 6.19, < 7.1.3 | 7.1.3 |