CVE-2022-49345

MEDIUM

Linux Kernel - Use-After-Free via EXPORT_SYMBOL and __init Combination

Title source: llm
STIX 2.1

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)

Scores

CVSS v3 5.5
EPSS 0.0029
EPSS Percentile 21.3%
Attack Vector LOCAL
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Details

Status published
Products (30)
linux/Kernel 3.15.0 - 4.9.318linux
linux/Kernel 4.10.0 - 4.14.283linux
linux/Kernel 4.15.0 - 4.19.247linux
linux/Kernel 4.20.0 - 5.4.198linux
linux/Kernel 5.11.0 - 5.15.47linux
linux/Kernel 5.16.0 - 5.17.15linux
linux/Kernel 5.18.0 - 5.18.4linux
linux/Kernel 5.5.0 - 5.10.122linux
Linux/Linux < 3.15
Linux/Linux 2f32b51b609faea1e40bb8c5bd305f1351740936 - 2b253fbc9f7b5db18d716436bdcf8ecef09fd63d
... and 20 more
Published Feb 26, 2025
Tracked Since Feb 18, 2026