CVE-2022-49804: s390: avoid using global register for current_stack_pointer
In the Linux kernel, the following vulnerability has been resolved:
s390: avoid using global register for currentstackpointer
Commit 30de14b1884b ("s390: currentstackpointer shouldn't be a function") made currentstackpointer a global register variable like on many other architectures. Unfortunately on s390 it uncovers old gcc bug which is fixed only since gcc-9.1 [gcc commit 3ad7fed1cc87 ("S/390: Fix PR89775. Stackpointer save/restore instructions removed")] and backported to gcc-8.4 and later. Due to this bug gcc versions prior to 8.4 generate broken code which leads to stack corruptions.
Current minimal gcc version required to build the kernel is declared as 5.1. It is not possible to fix all old gcc versions, so work around this problem by avoiding using global register variable for currentstackpointer.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Linux kernel (S/390 fix PR89775)to a version that resolves this vulnerability.Patch 30de14b1884b - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Patch 3ad7fed1cc87 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Patch PR89775
Event History
Frequently Asked Questions
What is the severity of CVE-2022-49804?
CVE-2022-49804 has been classified as a moderate severity vulnerability affecting the Linux kernel.
How do I fix CVE-2022-49804?
To fix CVE-2022-49804, update to the latest version of the affected Linux kernel or apply the recommended patch.
Which versions of the Linux kernel are affected by CVE-2022-49804?
CVE-2022-49804 affects specific versions of the Linux kernel prior to the inclusion of the patch that resolves the issue.
What type of vulnerability is CVE-2022-49804?
CVE-2022-49804 is a vulnerability related to improper use of global registers in the s390 architecture of the Linux kernel.
Is CVE-2022-49804 exploitable?
Yes, if unpatched, CVE-2022-49804 could potentially be exploited to affect system stability or security.