CVE-2026-98400: s390/ipl: Fix NULL deref in kdump without re-IPL parm block
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, reipltypeinit() selects IPLTYPEUNKNOWN, and reiplblockactual remains NULL.
kdump passes the re-IPL parameter block to the dump kernel through osinfo. Before commit 3b9678472bab ("s390/ipl: correct kdump reipl block checksum calculation"), the osinfo entry was added only for IPL types which initialized reiplblockactual. That commit moved the osinfo update to machinecrashshutdown(), making it unconditional. As a result, setosinforeiplblock() dereferences reiplblockactual for IPLTYPEUNKNOWN. This may happen to work by chance when address zero contains readable lowcore data and the resulting empty osinfo entry is ignored by the dump kernel.
Skip the osinfo update when no re-IPL parameter block is available. Kdump then collect the dump and reboot without setting re-IPL parameter block.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Patch 3b9678472bab
Event History
Frequently Asked Questions
Which systems are exposed to this failure?
Linux kernel systems on s390 using kdump are exposed when the system was booted with an IPL type that does not provide an IPL parameter block. Examples given include HMC FTP boot and QEMU direct kernel boot.
What conditions trigger the NULL dereference?
The failure occurs during kdump handling when the IPL type is unknown and no re-IPL parameter block was initialized. In that state, the crash shutdown path unconditionally attempts to update os_info using a NULL re-IPL block.
What is the expected behavior after the fix when no re-IPL parameter block exists?
The kernel skips the os_info re-IPL block update. Kdump can then collect the dump and reboot without setting a re-IPL parameter block.