CVEvulnerability

CVE-2022-49345

5.5 MEDIUM Published 2025-02-26 Modified 2026-06-17 Official page ↗
Status
Analyzed
Published
2025-02-26
Last modified
2026-06-17
Assigner
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS 3.1 ([email protected])
5.5 MEDIUM — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

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 configurations

• linux linux kernel (>= 3.15 < 4.9.318) • linux linux kernel (>= 4.10 < 4.14.283) • linux linux kernel (>= 4.15 < 4.19.247) • linux linux kernel (>= 4.20 < 5.4.198) • linux linux kernel (>= 5.5 < 5.10.122) • linux linux kernel (>= 5.11 < 5.15.47) • linux linux kernel (>= 5.16 < 5.17.15) • linux linux kernel (>= 5.18 < 5.18.4) • linux linux kernel 5.19

References