Linux: s390/ipl: Fix NULL deref in dump_reipl without re-IPL parm block
What fixes it
- 41647864e62b28388ecccc23a82f0e0a091f4ef2LinuxCVE List
- 8d7988e8116c3d29d9e02ca9d37ee84577643f2dLinuxCVE List
- 280ff19853440d59e031cd8fe161e81305721262LinuxCVE List
- 37f61b71cbc0caefc01022a19ee56fc2510e2e6eLinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
s390/ipl: Fix NULL deref in dump_reipl without re-IPL parm block
Unlike kdump, which passes the re-IPL parameter block through os_info, the stand-alone dump passes it through the IPL parm block address and checksum in lowcore.
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. Nevertheless, dump_reipl_run() unconditionally dereferences it when preparing the lowcore fields. This may happen to work by chance when address zero contains readable lowcore data. A zero IPL parameter block address is then stored in lowcore, causing the stand-alone dumper to enter disabled wait after completing the dump.
Explicitly store a zero IPL parameter block address and checksum when no re-IPL parameter block is available. This does not change the behavior: the stand-alone dumper completes the dump and halts, while valid re-IPL parameter blocks continue to be handled as before.
Text from CVE List
Affected versions 12
- Linuxaffected: 099b765139929efdcf232f8870804accf8c4cdc5 before 41647864e62b28388ecccc23a82f0e0a091f4ef2CVE List
- Linuxaffected: 099b765139929efdcf232f8870804accf8c4cdc5 before aed56fa3108b7095e6a048e134981506c056a6cbCVE List
- Linuxaffected: 099b765139929efdcf232f8870804accf8c4cdc5 before 8d7988e8116c3d29d9e02ca9d37ee84577643f2dCVE List
- Linuxaffected: 099b765139929efdcf232f8870804accf8c4cdc5 before 280ff19853440d59e031cd8fe161e81305721262CVE List
- Linuxaffected: 099b765139929efdcf232f8870804accf8c4cdc5 before 37f61b71cbc0caefc01022a19ee56fc2510e2e6eCVE List
- Linuxaffected: 2.6.30CVE List
- Linuxunaffected: all versions before 2.6.30CVE List
- Linuxunaffected: 6.6.158 through 6.6.*CVE List
- Linuxunaffected: 6.12.111 through 6.12.*CVE List
- Linuxunaffected: 6.18.53 through 6.18.*CVE List
- Linuxunaffected: 7.2.7 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 5
- git.kernel.org/stable/c/41647864e62b28388ecccc23a82f0e0a091f4ef2Referencevia CVE List
- git.kernel.org/stable/c/aed56fa3108b7095e6a048e134981506c056a6cbReferencevia CVE List
- git.kernel.org/stable/c/8d7988e8116c3d29d9e02ca9d37ee84577643f2dReferencevia CVE List
- git.kernel.org/stable/c/280ff19853440d59e031cd8fe161e81305721262Referencevia CVE List
- git.kernel.org/stable/c/37f61b71cbc0caefc01022a19ee56fc2510e2e6eReferencevia CVE List