CVE-2022-49339
Linux IPv6 EXPORT_SYMBOL Uninitialized Memory Access Vulnerability
Description
In the Linux kernel, the following vulnerability has been resolved: net: ipv6: unexport __init-annotated seg6_hmac_init() EXPORT_SYMBOL and __init is a bad combination because the .init.text section is freed up after the initialization. Hence, modules cannot use symbols annotated __init. The access to a freed symbol may end up with kernel panic. modpost used to detect it, but it has been broken for a decade. Recently, I fixed modpost so it started to warn it again, then this showed up in linux-next builds. There are two ways to fix it: - Remove __init - Remove EXPORT_SYMBOL I chose the latter for this case because the caller (net/ipv6/seg6.c) and the callee (net/ipv6/seg6_hmac.c) belong to the same module. It seems an internal function call in ipv6.ko.
INFO
Published Date :
Feb. 26, 2025, 7:01 a.m.
Last Modified :
Feb. 26, 2025, 7:01 a.m.
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Remotely Exploitable :
No
Impact Score :
Exploitability Score :
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2022-49339
.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2022-49339
vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2022-49339
vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Feb. 26, 2025
Action Type Old Value New Value Added Description In the Linux kernel, the following vulnerability has been resolved: net: ipv6: unexport __init-annotated seg6_hmac_init() EXPORT_SYMBOL and __init is a bad combination because the .init.text section is freed up after the initialization. Hence, modules cannot use symbols annotated __init. The access to a freed symbol may end up with kernel panic. modpost used to detect it, but it has been broken for a decade. Recently, I fixed modpost so it started to warn it again, then this showed up in linux-next builds. There are two ways to fix it: - Remove __init - Remove EXPORT_SYMBOL I chose the latter for this case because the caller (net/ipv6/seg6.c) and the callee (net/ipv6/seg6_hmac.c) belong to the same module. It seems an internal function call in ipv6.ko. Added Reference https://git.kernel.org/stable/c/1084716f76c8045eadf92a9d9a62641f3c8d8c90 Added Reference https://git.kernel.org/stable/c/317260b3eb6384a05a8af212308fa50f3b2e8290 Added Reference https://git.kernel.org/stable/c/3e6de5037148c5a93a436b1e8d2edad3dac11755 Added Reference https://git.kernel.org/stable/c/5801f064e35181c71857a80ff18af4dbec3c5f5c Added Reference https://git.kernel.org/stable/c/5d9c1b081ad28c852a97e10dd75412546497694a Added Reference https://git.kernel.org/stable/c/64aef8efe96c1616142c4476a05731306fc4494e Added Reference https://git.kernel.org/stable/c/9ba4416b831eeb4d185e88e73488d1d21288e63a Added Reference https://git.kernel.org/stable/c/ab8b2c2de273ec1d698a18e399896a6febb5cda0
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2022-49339
is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2022-49339
weaknesses.