Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
089d924d03d5c17b05d02992f57671ccfba1c4f0 to < c7dc382439f7b019e207055b52e9cec051d42fa9affected089d924d03d5c17b05d02992f57671ccfba1c4f0 to < f906347d75c7fc377041c6d3c535d0f08846aadaaffected089d924d03d5c17b05d02992f57671ccfba1c4f0 to < 4d418cf8daf57e454b4d855bf9b2419fd8e6a540affected089d924d03d5c17b05d02992f57671ccfba1c4f0 to < 13b6f0cdd5cd5e60f682ec43134ab0e2024bd356affected089d924d03d5c17b05d02992f57671ccfba1c4f0 to < 85b6256469cebdac395e7447147e06b2e151014faffected
Linux Linux
Default version status: affected
6.4affected0 to < 6.4unaffected6.6.144 to ≤ 6.6.*unaffected6.12.95 to ≤ 6.12.*unaffected6.18.38 to ≤ 6.18.*unaffected7.1.3 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/c7dc382439f7b019e207055b52e9cec051d42fa9 ↗
- https://git.kernel.org/stable/c/f906347d75c7fc377041c6d3c535d0f08846aada ↗
- https://git.kernel.org/stable/c/4d418cf8daf57e454b4d855bf9b2419fd8e6a540 ↗
- https://git.kernel.org/stable/c/13b6f0cdd5cd5e60f682ec43134ab0e2024bd356 ↗
- https://git.kernel.org/stable/c/85b6256469cebdac395e7447147e06b2e151014f ↗