s390/ipl: Fix NULL deref in kdump without re-IPL parm block
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.6.158, 6.12.111, 6.18.53, 7.2.7
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: s390/ipl: Fix NULL deref in kdump without re-IPL parm block Some IPL types, like HMC FTP boot or QEMU direct kernel boot, might not provide an IPL parameter block. In this case, reipl_type_init() selects IPL_TYPE_UNKNOWN, and reipl_block_actual remains NULL. kdump passes the re-IPL parameter block to the dump kernel through os_info. Before commit 3b9678472bab ("s390/ipl: correct kdump reipl block checksum calculation"), the os_info entry was added only for IPL types which initialized reipl_block_actual. That commit moved the os_info update to machine_crash_shutdown(), making it unconditional. As a result, set_os_info_reipl_block() dereferences reipl_block_actual for IPL_TYPE_UNKNOWN. This may happen to work by chance when address zero contains readable lowcore data and the resulting empty os_info entry is ignored by the dump kernel. Skip the os_info update when no re-IPL parameter block is available. Kdump then collect the dump and reboot without setting re-IPL parameter block.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 3b9678472bab86ae654cf2c18d5dd551558045be · fixed in 030e88812435fc5d6aa42eee41fa77b5ea620327; From 3b9678472bab86ae654cf2c18d5dd551558045be · fixed in 92d0829eae257544b6b0faccb6e7079c45e22d48; From 3b9678472bab86ae654cf2c18d5dd551558045be · fixed in 50f9c40768e84f30d374235b3ee3850a94d9ac29; From 3b9678472bab86ae654cf2c18d5dd551558045be · fixed in b6bf82bc5e00afaf836f8bb9a676bffc182a6bbd; From 3b9678472bab86ae654cf2c18d5dd551558045be · fixed in 7f918871112e8e7c581e99eb8e545af4e59c8367
- Linux Linux
4.17
- KernelLinux
From 4.17.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53; From 6.19.0 · fixed in 7.2.7