CVE-2022-49345

net: xfrm: unexport __init-annotated xfrm4_protocol_init()

MEDIUM
5.5
CVSS Score
Published: February 26, 2025 at 02:11 AM UTC
Updated: June 17, 2026 at 05:17 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.3%

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)

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

3.15 ≤ v < 4.14.2833.15 ≤ v < 4.19.2473.15 ≤ v < 4.9.3183.15 ≤ v < 5.10.1223.15 ≤ v < 5.15.473.15 ≤ v < 5.17.153.15 ≤ v < 5.18.43.15 ≤ v < 5.193.15 ≤ v < 5.4.1984.10 ≤ v < 4.14.2834.15 ≤ v < 4.19.2474.20 ≤ v < 5.4.1985.11 ≤ v < 5.15.475.16 ≤ v < 5.17.155.18 ≤ v < 5.18.45.5 ≤ v < 5.10.1222f32b51b609faea1e40bb8c5bd305f13517409363.155.19 rc1
Vendor states this is fixed in 2b253fbc9f7b5db18d716436bdcf8ecef09fd63d (fixed)
Vendor states this is fixed in 31f3c6a4dcd3260a386e62cef2d5b36e902600a1 (fixed)
Vendor states this is fixed in 4a388f08d8784af48f352193d2b72aaf167a57a1 (fixed)
Vendor states this is fixed in 85a055c03691e51499123194a14a0c249cf33227 (fixed)
Vendor states this is fixed in be3884d5cd04ccd58294b83a02d70b7c5fca19d3 (fixed)
Vendor states this is fixed in c58d82a1264813e69119c13e9804e2e60b664ad5 (fixed)
Vendor states this is fixed in e04d59cfe0c0129df7aba7ef7bb17b96be2a64f2 (fixed)
Vendor states this is fixed in e53cd3814504b2cadaba4d5a8a07eeea9ddacd03 (fixed)
Vendor states this is fixed in ef6d2354de238b065d8799c80da4be9a6af18e39 (fixed)
Vendor states this is fixed in 3.15 (unaffected)
Vendor states this is fixed in 4.14.283 (unaffected)
Vendor states this is fixed in 4.19.247 (unaffected)
Vendor states this is fixed in 4.9.318 (unaffected)
Vendor states this is fixed in 5.10.122 (unaffected)
Vendor states this is fixed in 5.15.47 (unaffected)
Vendor states this is fixed in 5.17.15 (unaffected)
Vendor states this is fixed in 5.18.4 (unaffected)
Vendor states this is fixed in 5.19 (unaffected)
Vendor states this is fixed in 5.4.198 (unaffected)

References (9)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/2b253fbc9f7b5db18d716436bdcf8ecef09fd63d
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/31f3c6a4dcd3260a386e62cef2d5b36e902600a1
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/4a388f08d8784af48f352193d2b72aaf167a57a1
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/85a055c03691e51499123194a14a0c249cf33227
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/be3884d5cd04ccd58294b83a02d70b7c5fca19d3
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/c58d82a1264813e69119c13e9804e2e60b664ad5
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/e04d59cfe0c0129df7aba7ef7bb17b96be2a64f2
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/e53cd3814504b2cadaba4d5a8a07eeea9ddacd03

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card