{ "data_version": "4.0", "data_type": "CVE", "data_format": "MITRE", "CVE_data_meta": { "ID": "CVE-2024-49924", "ASSIGNER": "cve@kernel.org", "STATE": "PUBLIC" }, "description": { "description_data": [ { "lang": "eng", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfbdev: pxafb: Fix possible use after free in pxafb_task()\n\nIn the pxafb_probe function, it calls the pxafb_init_fbinfo function,\nafter which &fbi->task is associated with pxafb_task. Moreover,\nwithin this pxafb_init_fbinfo function, the pxafb_blank function\nwithin the &pxafb_ops struct is capable of scheduling work.\n\nIf we remove the module which will call pxafb_remove to make cleanup,\nit will call unregister_framebuffer function which can call\ndo_unregister_framebuffer to free fbi->fb through\nput_fb_info(fb_info), while the work mentioned above will be used.\nThe sequence of operations that may lead to a UAF bug is as follows:\n\nCPU0 CPU1\n\n | pxafb_task\npxafb_remove |\nunregister_framebuffer(info) |\ndo_unregister_framebuffer(fb_info) |\nput_fb_info(fb_info) |\n// free fbi->fb | set_ctrlr_state(fbi, state)\n | __pxafb_lcd_power(fbi, 0)\n | fbi->lcd_power(on, &fbi->fb.var)\n | //use fbi->fb\n\nFix it by ensuring that the work is canceled before proceeding\nwith the cleanup in pxafb_remove.\n\nNote that only root user can remove the driver at runtime." } ] }, "problemtype": { "problemtype_data": [ { "description": [ { "lang": "eng", "value": "n/a" } ] } ] }, "affects": { "vendor": { "vendor_data": [ { "vendor_name": "Linux", "product": { "product_data": [ { "product_name": "Linux", "version": { "version_data": [ { "version_affected": "<", "version_name": "1da177e4c3f4", "version_value": "e657fa2df442" }, { "version_value": "not down converted", "x_cve_json_5_version_data": { "versions": [ { "version": "4.19.323", "lessThanOrEqual": "4.19.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.4.285", "lessThanOrEqual": "5.4.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.10.227", "lessThanOrEqual": "5.10.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.15.168", "lessThanOrEqual": "5.15.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.1.113", "lessThanOrEqual": "6.1.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.6.55", "lessThanOrEqual": "6.6.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.10.14", "lessThanOrEqual": "6.10.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.11.3", "lessThanOrEqual": "6.11.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.12", "lessThanOrEqual": "*", "status": "unaffected", "versionType": "original_commit_for_fix" } ], "defaultStatus": "affected" } } ] } } ] } } ] } }, "references": { "reference_data": [ { "url": "https://git.kernel.org/stable/c/e657fa2df4429f3805a9b3e47fb1a4a1b02a72bd", "refsource": "MISC", "name": "https://git.kernel.org/stable/c/e657fa2df4429f3805a9b3e47fb1a4a1b02a72bd" }, { "url": "https://git.kernel.org/stable/c/6d0a07f68b66269e167def6c0b90a219cd3e7473", "refsource": "MISC", "name": "https://git.kernel.org/stable/c/6d0a07f68b66269e167def6c0b90a219cd3e7473" }, { "url": "https://git.kernel.org/stable/c/e6897e299f57b103e999e62010b88e363b3eebae", "refsource": "MISC", "name": "https://git.kernel.org/stable/c/e6897e299f57b103e999e62010b88e363b3eebae" }, { "url": "https://git.kernel.org/stable/c/4cda484e584be34d55ee17436ebf7ad11922b97a", "refsource": "MISC", "name": "https://git.kernel.org/stable/c/4cda484e584be34d55ee17436ebf7ad11922b97a" }, { "url": "https://git.kernel.org/stable/c/3c0d416eb4bef705f699213cee94bf54b6acdacd", "refsource": "MISC", "name": "https://git.kernel.org/stable/c/3c0d416eb4bef705f699213cee94bf54b6acdacd" }, { "url": "https://git.kernel.org/stable/c/fdda354f60a576d52dcf90351254714681df4370", "refsource": "MISC", "name": "https://git.kernel.org/stable/c/fdda354f60a576d52dcf90351254714681df4370" }, { "url": "https://git.kernel.org/stable/c/aaadc0cb05c999ccd8898a03298b7e5c31509b08", "refsource": "MISC", "name": "https://git.kernel.org/stable/c/aaadc0cb05c999ccd8898a03298b7e5c31509b08" }, { "url": "https://git.kernel.org/stable/c/a3a855764dbacbdb1cc51e15dc588f2d21c93e0e", "refsource": "MISC", "name": "https://git.kernel.org/stable/c/a3a855764dbacbdb1cc51e15dc588f2d21c93e0e" }, { "url": "https://git.kernel.org/stable/c/4a6921095eb04a900e0000da83d9475eb958e61e", "refsource": "MISC", "name": "https://git.kernel.org/stable/c/4a6921095eb04a900e0000da83d9475eb958e61e" } ] }, "generator": { "engine": "bippy-8e903de6a542" } }