Skip to main content
No exploitation reportedFix available

CVE-2024-35955

No exploitation reported by the sources we read.

  • Published2024-05-20
  • Fixed ind15023fb4073 · b5808d400934 · 62029bc9ff2c · 325f3fb551f8 · 93eb31e7c339 · 36b57c7d2f8b
  • WeaknessCWE-416

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

Description

In the Linux kernel, the following vulnerability has been resolved: kprobes: Fix possible use-after-free issue on kprobe registration When unloading a module, its state is changing MODULE_STATE_LIVE -> MODULE_STATE_GOING -> MODULE_STATE_UNFORMED. Each change will take a time. `is_module_text_address()` and `__module_text_address()` works with MODULE_STATE_LIVE and MODULE_STATE_GOING. If we use `is_module_text_address()` and `__module_text_address()` separately, there is a chance that the first one is succeeded but the next one is failed because module->state becomes MODULE_STATE_UNFORMED between those operations. In `check_kprobe_address_safe()`, if the second `__module_text_address()` is failed, that is ignored because it expected a kernel_text address. But it may have failed simply because module->state has been changed to MODULE_STATE_UNFORMED. In this case, arm_kprobe() will try to modify non-exist module text address (use-after-free). To fix this problem, we should not use separated `is_module_text_address()` and `__module_text_address()`, but use only `__module_text_address()` once and do `try_module_get(module)` which is only available with MODULE_STATE_LIVE.

Timeline

dates in UTC
  1. 2024-05-2010:15CVE publishedNVD

Observed activity

isMalicious corpus · updated 2026-10-23 21:37 UTC
Indicators tagged with this CVE, per day0 indicators over 7 days
Block these indicators
  • Firewall list (EDL, text): https://api.ismalicious.com/edl/cve/CVE-2024-35955?format=txt
  • CSV export: https://api.ismalicious.com/edl/cve/CVE-2024-35955?format=csv
  • TAXII collection of exploited CVEs
  • The EDL and CSV take an API key on the Pro plan.

Versions per branch

CISA-ADP · NVD
Linux linux kernel
BranchAffectedFixed in
28+≥ 28f6c37a2910, < d15023fb4073d15023fb4073
1+≥ 1c836bad43f3, < b5808d400934b5808d400934
62029.x≥ 28f6c37a2910, < 62029bc9ff2c62029bc9ff2c
325.x≥ 28f6c37a2910, < 325f3fb551f8325f3fb551f8
93.x≥ 6a119c1a584a, < 93eb31e7c33993eb31e7c339
93.x≥ 2a49b025c36a, < 93eb31e7c33993eb31e7c339
36.x≥ 28f6c37a2910, < 36b57c7d2f8b36b57c7d2f8b
6.x≥ 6.7, < 6.8.76.8.7
6.x≥ 6.2, < 6.6.286.6.28
6.1≥ 5.19.2, < 6.1.876.1.87
5.x≥ 5.18.18, < 5.195.19
5.15≥ 5.15.61, < 5.15.1575.15.157
Debian debian linux
BranchAffectedFixed in
10.0= 10.0no fix published

as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.

Fix

  1. Update Linux linux kernel to d15023fb4073 · b5808d400934 · 62029bc9ff2c · 325f3fb551f8 · 93eb31e7c339 · 36b57c7d2f8b · 6.8.7 · 6.6.28

Detection

Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB
Proof-of-concept repositories
none listed
PoC-in-GitHub

Sources

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Published
2024-05-20
Last Modified
2026-10-15
NVD status
Modified

Frequently asked questions

What is CVE-2024-35955?

In the Linux kernel, the following vulnerability has been resolved: kprobes: Fix possible use-after-free issue on kprobe registration When unloading a module, its state is changing MODULE_STATE_LIVE -> MODULE_STATE_GOING -> MODULE_STATE_UNFORMED. Each change will take a time. `is_module_text_address()` and `__module_text_address()` works with MODULE_STATE_LIVE and MODULE_STATE_GOING. If we use `is_module_text_address()` and `__module_text_address()` separately, there is a chance that the first one is succeeded but the next one is failed because module->state becomes MODULE_STATE_UNFORMED between those operations. In `check_kprobe_address_safe()`, if the second `__module_text_address()` is failed, that is ignored because it expected a kernel_text address. But it may have failed simply because module->state has been changed to MODULE_STATE_UNFORMED. In this case, arm_kprobe() will try to modify non-exist module text address (use-after-free). To fix this problem, we should not use separated `is_module_text_address()` and `__module_text_address()`, but use only `__module_text_address()` once and do `try_module_get(module)` which is only available with MODULE_STATE_LIVE.

Is CVE-2024-35955 actively exploited?

Active exploitation of CVE-2024-35955 has not been confirmed. Its EPSS score was 1.2% on 2026-10-23, the estimated probability of exploitation in the next 30 days.

What is the CVSS score for CVE-2024-35955?

CVE-2024-35955 has a CVSS v3 base score of 8.8 (HIGH severity), with vector string CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H.

Running Linux kernel? Hear about its next vulnerability

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month