CVE-2022-49419

video: fbdev: vesafb: Fix a use-after-free due early fb_info cleanup

High · published February 26, 2025

CVSS v3.1
7.8
EPSS
0%
Percentile
17.9
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

video: fbdev: vesafb: Fix a use-after-free due early fb_info cleanup

Commit b3c9a924aab6 ("fbdev: vesafb: Cleanup fb_info in .fb_destroy rather

than .remove") fixed a use-after-free error due the vesafb driver freeing

the fb_info in the .remove handler instead of doing it in .fb_destroy.

This can happen if the .fb_destroy callback is executed after the .remove

callback, since the former tries to access a pointer freed by the latter.

But that change didn't take into account that another possible scenario is

that .fb_destroy is called before the .remove callback. For example, if no

process has the fbdev chardev opened by the time the driver is removed.

If that's the case, fb_info will be freed when unregister_framebuffer() is

called, making the fb_info pointer accessed in vesafb_remove() after that

to no longer be valid.

To prevent that, move the expression containing the info->par to happen

before the unregister_framebuffer() function call.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00267 · 17.9th percentile
Published
2025-02-26T02:12Z
EPSS history
Timeline
  • 26 FEB 02:12Z
    video: fbdev: vesafb: Fix a use-after-free due early fb_info cleanup
    cvelistv5