{"id":"CVE-2022-50159","title":"of: check previous kernel's ima-kexec-buffer against memory bounds","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nof: check previous kernel's ima-kexec-buffer against memory bounds\n\nPresently ima_get_kexec_buffer() doesn't check if the previous kernel's\nima-kexec-buffer lies outsid…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= 467d27824920e866af148132f555d40ca1fb199e < beb5bba5dd132650c073f815c685c60c3e5b783b","Linux >= 467d27824920e866af148132f555d40ca1fb199e < dc3b8525f83ac6bbc885bb24bbb8a76f4622200e","Linux >= 467d27824920e866af148132f555d40ca1fb199e < 1b2263d6c86fca8f30e18231778393bfc287bb27","Linux >= 467d27824920e866af148132f555d40ca1fb199e < cbf9c4b9617b6767886a913705ca14b7600c77db","Linux 4.10"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"partial","timestamp":"2026-11-05T19:55:21.572245Z"},"published":"2025-06-18","updated":"2026-11-05","sourceUpdated":"2026-11-05T20:00:19.027Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2022-50159","references":[{"url":"https://git.kernel.org/stable/c/beb5bba5dd132650c073f815c685c60c3e5b783b"},{"url":"https://git.kernel.org/stable/c/dc3b8525f83ac6bbc885bb24bbb8a76f4622200e"},{"url":"https://git.kernel.org/stable/c/1b2263d6c86fca8f30e18231778393bfc287bb27"},{"url":"https://git.kernel.org/stable/c/cbf9c4b9617b6767886a913705ca14b7600c77db"}],"tags":["cve.org"],"epss":0.00193,"epssPercentile":0.0904,"ingestedAt":"2026-11-05T22:38:31.689Z","slug":"CVE-2022-50159","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nof: check previous kernel's ima-kexec-buffer against memory bounds\n\nPresently ima_get_kexec_buffer() doesn't check if the previous kernel's\nima-kexec-buffer lies outside the addressable memory range. This can result\nin a kernel panic if the new kernel is booted with 'mem=X' arg and the\nima-kexec-buffer was allocated beyond that range by the previous kernel.\nThe panic is usually of the form below:\n\n$ sudo kexec --initrd initrd vmlinux --append='mem=16G'\n\n<snip>\n BUG: Unable to handle kernel data access on read at 0xc000c01fff7f0000\n Faulting instruction address: 0xc000000000837974\n Oops: Kernel access of bad area, sig: 11 [#1]\n<snip>\n NIP [c000000000837974] ima_restore_measurement_list+0x94/0x6c0\n LR [c00000000083b55c] ima_load_kexec_buffer+0xac/0x160\n Call Trace:\n [c00000000371fa80] [c00000000083b55c] ima_load_kexec_buffer+0xac/0x160\n [c00000000371fb00] [c0000000020512c4] ima_init+0x80/0x108\n [c00000000371fb70] [c0000000020514dc] init_ima+0x4c/0x120\n [c00000000371fbf0] [c000000000012240] do_one_initcall+0x60/0x2c0\n [c00000000371fcc0] [c000000002004ad0] kernel_init_freeable+0x344/0x3ec\n [c00000000371fda0] [c0000000000128a4] kernel_init+0x34/0x1b0\n [c00000000371fe10] [c00000000000ce64] ret_from_kernel_thread+0x5c/0x64\n Instruction dump:\n f92100b8 f92100c0 90e10090 910100a0 4182050c 282a0017 3bc00000 40810330\n 7c0802a6 fb610198 7c9b2378 f80101d0 <a1240000> 2c090001 40820614 e9240010\n ---[ end trace 0000000000000000 ]---\n\nFix this issue by checking returned PFN range of previous kernel's\nima-kexec-buffer with page_is_ram() to ensure correct memory bounds.\n\n## Affected\n\n- `Linux >= 467d27824920e866af148132f555d40ca1fb199e < beb5bba5dd132650c073f815c685c60c3e5b783b`\n- `Linux >= 467d27824920e866af148132f555d40ca1fb199e < dc3b8525f83ac6bbc885bb24bbb8a76f4622200e`\n- `Linux >= 467d27824920e866af148132f555d40ca1fb199e < 1b2263d6c86fca8f30e18231778393bfc287bb27`\n- `Linux >= 467d27824920e866af148132f555d40ca1fb199e < cbf9c4b9617b6767886a913705ca14b7600c77db`\n- `Linux 4.10`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}