CVE-2022-49419

Source
https://nvd.nist.gov/vuln/detail/CVE-2022-49419
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-49419.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2022-49419
Downstream
Related
Published
2025-02-26T02:12:43Z
Modified
2025-10-15T21:41:40.529298Z
Severity
  • 7.8 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
video: fbdev: vesafb: Fix a use-after-free due early fb_info cleanup
Details

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 fbinfo in .fbdestroy rather than .remove") fixed a use-after-free error due the vesafb driver freeing the fbinfo in the .remove handler instead of doing it in .fbdestroy.

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, fbinfo will be freed when unregisterframebuffer() is called, making the fbinfo pointer accessed in vesafbremove() 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.

References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
f94aa46efaa087ec075c83e4508f943fb5e43977
Fixed
0fac5f8fb1bc2fc4f8714bf5e743c9cc3f547c63
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
a1aac13288de2935dc1a9330a93b1ac92f1e2b72
Fixed
f605f5558ecc175ec70016a3c15f007cb6386531
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
b3c9a924aab61adbc29df110006aa03afe1a78ba
Fixed
d260cad015945d1f4bb9b028a096f648506106a2
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
b3c9a924aab61adbc29df110006aa03afe1a78ba
Fixed
acde4003efc16480375543638484d8f13f2e99a3

Affected versions

v5.*

v5.15.41
v5.15.42
v5.15.43
v5.15.44
v5.15.45
v5.17.10
v5.17.11
v5.17.12
v5.17.13
v5.17.9
v5.18
v5.18-rc2
v5.18-rc3
v5.18-rc4
v5.18-rc5
v5.18-rc6
v5.18-rc7
v5.18.1
v5.18.2

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
5.15.46
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
5.17.14
Type
ECOSYSTEM
Events
Introduced
5.18.0
Fixed
5.18.3