CVE-2024-49924

Source
https://cve.org/CVERecord?id=CVE-2024-49924
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-49924.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-49924
Downstream
Related
Published
2024-10-21T18:01:49.076Z
Modified
2026-03-20T12:39:28.144833Z
Summary
fbdev: pxafb: Fix possible use after free in pxafb_task()
Details

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

fbdev: pxafb: Fix possible use after free in pxafb_task()

In the pxafbprobe function, it calls the pxafbinitfbinfo function, after which &fbi->task is associated with pxafbtask. Moreover, within this pxafbinitfbinfo function, the pxafbblank function within the &pxafbops struct is capable of scheduling work.

If we remove the module which will call pxafbremove to make cleanup, it will call unregisterframebuffer function which can call dounregisterframebuffer to free fbi->fb through putfbinfo(fb_info), while the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows:

CPU0 CPU1

                               | pxafb_task

pxafbremove | unregisterframebuffer(info) | dounregisterframebuffer(fbinfo) | putfbinfo(fbinfo) | // free fbi->fb | setctrlrstate(fbi, state) | _pxafblcdpower(fbi, 0) | fbi->lcdpower(on, &fbi->fb.var) | //use fbi->fb

Fix it by ensuring that the work is canceled before proceeding with the cleanup in pxafb_remove.

Note that only root user can remove the driver at runtime.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/49xxx/CVE-2024-49924.json"
}
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
9f17f2874834f4cdbe48cc05676d8f7558793204
Fixed
e657fa2df4429f3805a9b3e47fb1a4a1b02a72bd
Fixed
6d0a07f68b66269e167def6c0b90a219cd3e7473
Fixed
e6897e299f57b103e999e62010b88e363b3eebae
Fixed
4cda484e584be34d55ee17436ebf7ad11922b97a
Fixed
3c0d416eb4bef705f699213cee94bf54b6acdacd
Fixed
fdda354f60a576d52dcf90351254714681df4370
Fixed
aaadc0cb05c999ccd8898a03298b7e5c31509b08
Fixed
a3a855764dbacbdb1cc51e15dc588f2d21c93e0e
Fixed
4a6921095eb04a900e0000da83d9475eb958e61e

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-49924.json"