Loop with Unreachable Exit Condition ('Infinite Loop') Affecting kernel-debug package, versions *
Threat Intelligence
Do your applications use this vulnerable package?
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applications- Snyk ID SNYK-RHEL8-KERNELDEBUG-8284975
- published 23 Oct 2024
- disclosed 21 Oct 2024
Introduced: 21 Oct 2024
CVE-2024-49856 Open this link in a new tabHow to fix?
There is no fixed version for RHEL:8
kernel-debug
.
NVD Description
Note: Versions mentioned in the description apply only to the upstream kernel-debug
package and not the kernel-debug
package as distributed by RHEL
.
See How to fix?
for RHEL:8
relevant fixed versions and status.
In the Linux kernel, the following vulnerability has been resolved:
x86/sgx: Fix deadlock in SGX NUMA node search
When the current node doesn't have an EPC section configured by firmware and all other EPC sections are used up, CPU can get stuck inside the while loop that looks for an available EPC page from remote nodes indefinitely, leading to a soft lockup. Note how nid_of_current will never be equal to nid in that while loop because nid_of_current is not set in sgx_numa_mask.
Also worth mentioning is that it's perfectly fine for the firmware not to setup an EPC section on a node. While setting up an EPC section on each node can enhance performance, it is not a requirement for functionality.
Rework the loop to start and end on a node that has SGX memory. This avoids the deadlock looking for the current SGX-lacking node to show up in the loop when it never will.
References
- https://access.redhat.com/security/cve/CVE-2024-49856
- https://git.kernel.org/stable/c/0f89fb4042c08fd143bfc28af08bf6c8a0197eea
- https://git.kernel.org/stable/c/20c96d0aaabfe361fc2a11c173968dc67feadbbf
- https://git.kernel.org/stable/c/40fb64257dab507d86b5f1f2a62f3669ef0c91a8
- https://git.kernel.org/stable/c/8132510c915815e6b537ab937d94ed66893bc7b8
- https://git.kernel.org/stable/c/9c936844010466535bd46ea4ce4656ef17653644
- https://git.kernel.org/stable/c/fb2d057539eda67ec7cfc369bf587e6518a9b99d