Skip to main content

CVE-2022-49345: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2022-49345cvecve-2022-49345
Published: Wed Feb 26 2025 (02/26/2025, 02:11:00 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: net: xfrm: unexport __init-annotated xfrm4_protocol_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 only in-tree call-site, net/ipv4/xfrm4_policy.c is never compiled as modular. (CONFIG_XFRM is boolean)

AI-Powered Analysis

AILast updated: 06/30/2025, 06:10:25 UTC

Technical Analysis

CVE-2022-49345 is a vulnerability identified in the Linux kernel's networking subsystem, specifically within the IPsec implementation related to the xfrm (transform) framework. The issue arises from the incorrect use of the __init annotation combined with EXPORT_SYMBOL on the function xfrm4_protocol_init(). The __init annotation marks code that is only needed during kernel initialization and is placed in a special memory section (.init.text) that is freed after initialization completes. EXPORT_SYMBOL makes a function available to loadable kernel modules. However, if a symbol annotated with __init is exported, modules may attempt to access code that has already been freed, leading to use-after-free conditions. This can cause kernel panics or system crashes. The vulnerability was long undetected because the modpost tool, which checks for such issues, was broken for about a decade. Upon fixing modpost, this problem was rediscovered in linux-next builds. The fix chosen was to remove EXPORT_SYMBOL from xfrm4_protocol_init() since the only in-tree caller is not modular, making the export unnecessary. This vulnerability affects Linux kernel versions containing the faulty commit identified by the hash 2f32b51b609faea1e40bb8c5bd305f1351740936. No known exploits are currently reported in the wild. The vulnerability is subtle and relates to kernel module loading and initialization code, which could lead to system instability or denial of service via kernel panic if exploited.

Potential Impact

For European organizations, the impact of CVE-2022-49345 primarily involves potential denial of service due to kernel panics triggered by accessing freed initialization code in the Linux kernel's IPsec subsystem. Many European enterprises and service providers rely on Linux-based systems for critical infrastructure, including servers, network appliances, and embedded devices. Systems that load kernel modules related to IPsec or use the xfrm framework could be vulnerable to crashes, leading to service interruptions. Although no known exploits exist, the vulnerability could be leveraged by attackers with local access or the ability to load kernel modules to cause system instability. This could affect data center operations, cloud services, and network security appliances. Given the widespread use of Linux in Europe across sectors such as finance, telecommunications, government, and manufacturing, the potential for disruption is notable. However, exploitation requires specific conditions (module loading of affected symbols), limiting the attack surface somewhat. Still, denial of service in critical systems could have cascading effects on business continuity and service availability.

Mitigation Recommendations

European organizations should ensure that their Linux kernel versions are updated to include the patch that removes the EXPORT_SYMBOL annotation from the __init-annotated function xfrm4_protocol_init(). Since the vulnerability stems from a kernel code annotation issue, applying the official kernel updates from trusted Linux distributions is the primary mitigation. Organizations should: 1) Identify systems running affected kernel versions, especially those using IPsec and xfrm modules. 2) Apply vendor-provided kernel patches or upgrade to a fixed kernel version as soon as possible. 3) Limit the ability of unprivileged users to load kernel modules, as exploitation requires module loading. 4) Monitor kernel logs for unusual panics or module load failures that could indicate attempted exploitation. 5) For environments requiring high availability, implement redundancy and failover to mitigate potential downtime from kernel panics. 6) Engage with Linux distribution security advisories to track patch availability and deployment status. 7) Conduct internal audits to verify that kernel modules are not unnecessarily loaded or exposed to untrusted users. These steps go beyond generic patching advice by focusing on module loading controls and operational monitoring specific to this vulnerability's exploitation vector.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2025-02-26T02:08:31.542Z
Cisa Enriched
false
Cvss Version
null
State
PUBLISHED

Threat ID: 682d982dc4522896dcbe5710

Added to database: 5/21/2025, 9:09:01 AM

Last enriched: 6/30/2025, 6:10:25 AM

Last updated: 8/1/2025, 1:11:48 AM

Views: 13

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats