CVE-2026-43289

Summary

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

kexec: derive purgatory entry from symbol

kexec_load_purgatory() derives image->start by locating e_entry inside an SHF_EXECINSTR section. If the purgatory object contains multiple executable sections with overlapping sh_addr, the entrypoint check can match more than once and trigger a WARN.

Derive the entry section from the purgatory_start symbol when present and compute image->start from its final placement. Keep the existing e_entry fallback for purgatories that do not expose the symbol.

WARNING: kernel/kexec_file.c:1009 at kexec_load_purgatory+0x395/0x3c0, CPU#10: kexec/1784 Call Trace: <TASK> bzImage64_load+0x133/0xa00 __do_sys_kexec_file_load+0x2b3/0x5c0 do_syscall_64+0x81/0x610 entry_SYSCALL_64_after_hwframe+0x76/0x7e

[me@linux.beauty: move helper to avoid forward declaration, per Baoquan]

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxf368aed4827bd4276c0e3664fb2cb815a8d7caf3 < 027797595a108726f4a0a45d225f603b0ffbd22baffected
LinuxLinuxd38e051ec6fd8650b139d9bc4b0b8b261953b263 < 1737d37ae1d2814e6cf0a1af87af3d41f0812b95affected
LinuxLinux013027918a4efa807409fcb356009c117e4d181a < f736032c638a33a243e9126e617788f763d648f9affected
LinuxLinux8652d44f466ad5772e7d1756e9457046189b0dfc < cfccd3b8c51bc57a8a6fcb2fd30453afae5bc0d2affected
LinuxLinux8652d44f466ad5772e7d1756e9457046189b0dfc < 875355152b33436907c2a6d2ffad1431fa86c62baffected
LinuxLinux8652d44f466ad5772e7d1756e9457046189b0dfc < 36eb314184a0ae74dd42914b47d2b9fc43be8034affected
LinuxLinux8652d44f466ad5772e7d1756e9457046189b0dfc < 5226570bd252cea2e805a161cb0f75c204c3108aaffected
LinuxLinux8652d44f466ad5772e7d1756e9457046189b0dfc < 480e1d5c64bb14441f79f2eb9421d5e26f91ea3daffected
LinuxLinux4947a0eb7d642b6048559857964966016ef3aa8baffected
LinuxLinuxb16bf76b382810257e3fb6278663a9d131b70197affected
LinuxLinuxcb1638618545182a01444b2b20a4ed6b9d2a8c8faffected
LinuxLinux5.10.185 < 5.10.252affected
LinuxLinux5.15.118 < 5.15.202affected
LinuxLinux6.1.35 < 6.1.165affected
LinuxLinux4.19.287 < 4.20affected
LinuxLinux5.4.248 < 5.5affected
LinuxLinux6.3.9 < 6.4affected
LinuxLinux6.4affected
LinuxLinux0 < 6.4unaffected
LinuxLinux5.10.252 <= 5.10.*unaffected
LinuxLinux5.15.202 <= 5.15.*unaffected
LinuxLinux6.1.165 <= 6.1.*unaffected
LinuxLinux6.6.128 <= 6.6.*unaffected
LinuxLinux6.12.75 <= 6.12.*unaffected
LinuxLinux6.18.16 <= 6.18.*unaffected
LinuxLinux6.19.6 <= 6.19.*unaffected
LinuxLinux7.0 <= *unaffected

Weaknesses

References