CVE-2022-49726
published 2025-02-26CVE-2022-49726: In the Linux kernel, the following vulnerability has been resolved: clocksource: hyper-v: unexport __init-annotated hv_init_clocksource() EXPORT_SYMBOL and…
PriorityP419medium5.5CVSS 3.1
AVLACLPRLUINSUCNINAH
EPSS
0.27%
19.4th percentile
In the Linux kernel, the following vulnerability has been resolved:
clocksource: hyper-v: unexport __init-annotated hv_init_clocksource()
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,
arch/x86/kernel/cpu/mshyperv.c is never compiled as modular.
(CONFIG_HYPERVISOR_GUEST is boolean)
Affected
16 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | linux | < linux 5.18.14-1 (bookworm) | linux 5.18.14-1 (bookworm) |
| linux | linux | — | — |
| linux | linux | >= dd2cb348613b44f9d948b068775e159aad298599 < cff3a7ce6e81418b6e8bac941779bbf5d342d626 | cff3a7ce6e81418b6e8bac941779bbf5d342d626 |
| linux | linux | >= dd2cb348613b44f9d948b068775e159aad298599 < db965e2757d95f695e606856418cd84003dd036d | db965e2757d95f695e606856418cd84003dd036d |
| linux | linux | >= dd2cb348613b44f9d948b068775e159aad298599 < 0414eab7c78f3518143d383e448d44fc573ac6d2 | 0414eab7c78f3518143d383e448d44fc573ac6d2 |
| linux | linux | >= dd2cb348613b44f9d948b068775e159aad298599 < 937fcbb55a1e48a6422e87e8f49422c92265f102 | 937fcbb55a1e48a6422e87e8f49422c92265f102 |
| linux | linux | >= dd2cb348613b44f9d948b068775e159aad298599 < 245b993d8f6c4e25f19191edfbd8080b645e12b1 | 245b993d8f6c4e25f19191edfbd8080b645e12b1 |
| linux | linux_kernel | — | — |
| linux | linux_kernel | >= 0 < 5.10.127-1 | 5.10.127-1 |
| linux | linux_kernel | >= 0 < 5.18.14-1 | 5.18.14-1 |
| linux | linux_kernel | >= 0 < 5.18.14-1 | 5.18.14-1 |
| linux | linux_kernel | >= 0 < 5.18.14-1 | 5.18.14-1 |
| linux | linux_kernel | >= 5.11 < 5.15.49 | 5.15.49 |
| linux | linux_kernel | >= 5.16 < 5.18.6 | 5.18.6 |
| linux | linux_kernel | >= 5.3 < 5.4.200 | 5.4.200 |
| linux | linux_kernel | >= 5.5 < 5.10.124 | 5.10.124 |
CVSS provenance
nvdv3.15.5MEDIUMCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
osv5.5MEDIUM
vendor_debian5.5MEDIUM
vendor_redhat5.5MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
GHSA-3pj9-hhgf-f53q: In the Linux kernel, the following vulnerability has been resolved:
clocksource: hyper-v: unexport __init-annotated hv_init_clocksource()
EXPORT_SYM
ghsa_unreviewed·2025-10-24
CVE-2022-49726 [MEDIUM] CWE-908 GHSA-3pj9-hhgf-f53q: In the Linux kernel, the following vulnerability has been resolved:
clocksource: hyper-v: unexport __init-annotated hv_init_clocksource()
EXPORT_SYM
In the Linux kernel, the following vulnerability has been resolved:
clocksource: hyper-v: unexport __init-annotated hv_init_clocksource()
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,
arch/x86/kernel/cpu/mshyperv.c is never compiled as modular.
(CONFIG_HYPERVISOR_GUEST is boolean)
OSV
CVE-2022-49726: In the Linux kernel, the following vulnerability has been resolved: clocksource: hyper-v: unexport __init-annotated hv_init_clocksource() EXPORT_SYMBO
osv·2025-02-26·CVSS 5.5
CVE-2022-49726 [MEDIUM] CVE-2022-49726: In the Linux kernel, the following vulnerability has been resolved: clocksource: hyper-v: unexport __init-annotated hv_init_clocksource() EXPORT_SYMBO
In the Linux kernel, the following vulnerability has been resolved: clocksource: hyper-v: unexport __init-annotated hv_init_clocksource() 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, arch/x86/kernel/cpu/mshyperv.c is never compiled as modular. (CONFIG_HYPERVISOR_GUEST is boolean)
Red Hat
kernel: clocksource: hyper-v: unexport __init-annotated hv_init_clocksource()
vendor_redhat·2025-02-26·CVSS 5.5
CVE-2022-49726 [MEDIUM] kernel: clocksource: hyper-v: unexport __init-annotated hv_init_clocksource()
kernel: clocksource: hyper-v: unexport __init-annotated hv_init_clocksource()
In the Linux kernel, the following vulnerability has been resolved:
clocksource: hyper-v: unexport __init-annotated hv_init_clocksource()
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,
arch/x86/kernel/cpu/mshyperv.c is never compiled as mod
Debian
CVE-2022-49726: linux - In the Linux kernel, the following vulnerability has been resolved: clocksource...
vendor_debian·2022·CVSS 5.5
CVE-2022-49726 [MEDIUM] CVE-2022-49726: linux - In the Linux kernel, the following vulnerability has been resolved: clocksource...
In the Linux kernel, the following vulnerability has been resolved: clocksource: hyper-v: unexport __init-annotated hv_init_clocksource() 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, arch/x86/kernel/cpu/mshyperv.c is never compiled as modular. (CONFIG_HYPERVISOR_GUEST is boolean)
Scope: local
bookworm: resolved (fix
No detection rules found.
No public exploits indexed.
https://git.kernel.org/stable/c/0414eab7c78f3518143d383e448d44fc573ac6d2https://git.kernel.org/stable/c/245b993d8f6c4e25f19191edfbd8080b645e12b1https://git.kernel.org/stable/c/937fcbb55a1e48a6422e87e8f49422c92265f102https://git.kernel.org/stable/c/cff3a7ce6e81418b6e8bac941779bbf5d342d626https://git.kernel.org/stable/c/db965e2757d95f695e606856418cd84003dd036d
2025-02-26
Published