Action not permitted
Modal body text goes here.
Modal Title
Modal Body
EUVD-2026-320597
European Vulnerability Database identifier assigned by ENISAReserved
2026-10-02 07:41
Assigner
ENISA
Alias of
a CVE record, shown under related vulnerabilities.
This identifier carries no description, severity or references of its own:
they belong to that CVE.
{
"assigner": "ENISA",
"date_reserved": "2026-10-02T07:41:34.111281+00:00",
"id": "EUVD-2026-320597"
}
CVE-2024-35955 (GCVE-0-2024-35955)
Vulnerability from cvelistv5 – Published: 2024-05-20 09:41 – Updated: 2026-05-23 15:45
VLAI
EPSS
VEX
Title
kprobes: Fix possible use-after-free issue on kprobe registration
Summary
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.
Severity
8.8 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2024-05-20 17:42 UTC
CWE
- CWE-416 - Use After Free
Assigner
References
12 references
Impacted products
7 products
| Vendor | Product | Version | |
|---|---|---|---|
| Linux | Linux |
Affected:
1c836bad43f3e2ff71cc397a6e6ccb4e7bd116f8 , < b5808d40093403334d939e2c3c417144d12a6f33
(git)
Affected: 6a119c1a584aa7a2c6216458f1f272bf1bc93a93 , < 93eb31e7c3399e326259f2caa17be1e821f5a412 (git) Affected: 2a49b025c36ae749cee7ccc4b7e456e02539cdc3 , < 5062d1f4f07facbdade0f402d9a04a788f52e26d (git) Affected: a1edb85e60fdab1e14db63ae8af8db3f0d798fb6 , < 2df2dd27066cdba8041e46a64362325626bdfb2e (git) Affected: 28f6c37a2910f565b4f5960df52b2eccae28c891 , < 62029bc9ff2c17a4e3a2478d83418ec575413808 (git) Affected: 28f6c37a2910f565b4f5960df52b2eccae28c891 , < d15023fb407337028a654237d8968fefdcf87c2f (git) Affected: 28f6c37a2910f565b4f5960df52b2eccae28c891 , < 36b57c7d2f8b7de224980f1a284432846ad71ca0 (git) Affected: 28f6c37a2910f565b4f5960df52b2eccae28c891 , < 325f3fb551f8cd672dbbfc4cf58b14f9ee3fc9e8 (git) Affected: 4262b6eb057d86c7829168c541654fe0d48fdac8 (git) Affected: 97e813e6a143edf4208e15c72199c495ed80cea5 (git) Affected: 16a544f1e013ba0660612f3fe35393b143b19a84 (git) Affected: 4.19.256 , < 4.19.313 (semver) Affected: 5.4.211 , < 5.4.275 (semver) Affected: 5.10.137 , < 5.10.216 (semver) Affected: 5.15.61 , < 5.15.157 (semver) Affected: 4.14.291 , < 4.15 (semver) Affected: 5.18.18 , < 5.19 (semver) Affected: 5.19.2 , < 5.20 (semver) |
|
| Linux | Linux |
Affected:
6.0
Unaffected: 0 , < 6.0 (semver) Unaffected: 4.19.313 , ≤ 4.19.* (semver) Unaffected: 5.4.275 , ≤ 5.4.* (semver) Unaffected: 5.10.216 , ≤ 5.10.* (semver) Unaffected: 5.15.157 , ≤ 5.15.* (semver) Unaffected: 6.1.87 , ≤ 6.1.* (semver) Unaffected: 6.6.28 , ≤ 6.6.* (semver) Unaffected: 6.8.7 , ≤ 6.8.* (semver) Unaffected: 6.9 , ≤ * (original_commit_for_fix) |
|
| linux | linux_kernel |
Affected:
1c836bad43f3 , < b5808d400934
(git)
Affected: 6a119c1a584a , < 93eb31e7c339 (git) Affected: 2a49b025c36a , < 93eb31e7c339 (git) Affected: a1edb85e60fd , < 2df2dd27066c (git) Affected: 28f6c37a2910 , < 62029bc9ff2c (git) Affected: 28f6c37a2910 , < d15023fb4073 (git) Affected: 28f6c37a2910 , < 36b57c7d2f8b (git) Affected: 28f6c37a2910 , < 325f3fb551f8 (git) Affected: 6.0 cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
|
| Siemens | RUGGEDCOM RST2428P |
Affected:
0 , < V3.1
(custom)
|
|
| Siemens | SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family |
Unaffected:
0 , < *
(custom)
|
|
| Siemens | SCALANCE XCM-/XRM-/XCH-/XRH-300 family |
Affected:
0 , < V3.1
(custom)
|
|
| Siemens | SIMATIC S7-1500 TM MFP - GNU/Linux subsystem |
Affected:
0 , < *
(custom)
|
{
"containers": {
"adp": [
{
"affected": [
{
"cpes": [
"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unknown",
"product": "linux_kernel",
"vendor": "linux",
"versions": [
{
"lessThan": "b5808d400934",
"status": "affected",
"version": "1c836bad43f3",
"versionType": "git"
},
{
"lessThan": "93eb31e7c339",
"status": "affected",
"version": "6a119c1a584a",
"versionType": "git"
},
{
"lessThan": "93eb31e7c339",
"status": "affected",
"version": "2a49b025c36a",
"versionType": "git"
},
{
"lessThan": "2df2dd27066c",
"status": "affected",
"version": "a1edb85e60fd",
"versionType": "git"
},
{
"lessThan": "62029bc9ff2c",
"status": "affected",
"version": "28f6c37a2910",
"versionType": "git"
},
{
"lessThan": "d15023fb4073",
"status": "affected",
"version": "28f6c37a2910",
"versionType": "git"
},
{
"lessThan": "36b57c7d2f8b",
"status": "affected",
"version": "28f6c37a2910",
"versionType": "git"
},
{
"lessThan": "325f3fb551f8",
"status": "affected",
"version": "28f6c37a2910",
"versionType": "git"
},
{
"status": "affected",
"version": "6.0"
}
]
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 8.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
}
},
{
"other": {
"content": {
"id": "CVE-2024-35955",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-05-20T17:42:32.103628Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-416",
"description": "CWE-416 Use After Free",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2024-08-01T13:44:14.513Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
},
{
"providerMetadata": {
"dateUpdated": "2024-08-02T03:21:48.971Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/b5808d40093403334d939e2c3c417144d12a6f33"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/93eb31e7c3399e326259f2caa17be1e821f5a412"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/5062d1f4f07facbdade0f402d9a04a788f52e26d"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/2df2dd27066cdba8041e46a64362325626bdfb2e"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/62029bc9ff2c17a4e3a2478d83418ec575413808"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/d15023fb407337028a654237d8968fefdcf87c2f"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/36b57c7d2f8b7de224980f1a284432846ad71ca0"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/325f3fb551f8cd672dbbfc4cf58b14f9ee3fc9e8"
},
{
"tags": [
"x_transferred"
],
"url": "https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html"
},
{
"tags": [
"x_transferred"
],
"url": "https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html"
}
],
"title": "CVE Program Container"
},
{
"affected": [
{
"defaultStatus": "unknown",
"product": "RUGGEDCOM RST2428P",
"vendor": "Siemens",
"versions": [
{
"lessThan": "V3.1",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
},
{
"defaultStatus": "unknown",
"product": "SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family",
"vendor": "Siemens",
"versions": [
{
"lessThan": "*",
"status": "unaffected",
"version": "0",
"versionType": "custom"
}
]
},
{
"defaultStatus": "unknown",
"product": "SCALANCE XCM-/XRM-/XCH-/XRH-300 family",
"vendor": "Siemens",
"versions": [
{
"lessThan": "V3.1",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
},
{
"defaultStatus": "unknown",
"product": "SIMATIC S7-1500 TM MFP - GNU/Linux subsystem",
"vendor": "Siemens",
"versions": [
{
"lessThan": "*",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-05-12T11:53:10.672Z",
"orgId": "0b142b55-0307-4c5a-b3c9-f314f3fb7c5e",
"shortName": "siemens-SADP"
},
"references": [
{
"url": "https://cert-portal.siemens.com/productcert/html/ssa-265688.html"
},
{
"url": "https://cert-portal.siemens.com/productcert/html/ssa-613116.html"
}
],
"x_adpType": "supplier"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"kernel/kprobes.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "b5808d40093403334d939e2c3c417144d12a6f33",
"status": "affected",
"version": "1c836bad43f3e2ff71cc397a6e6ccb4e7bd116f8",
"versionType": "git"
},
{
"lessThan": "93eb31e7c3399e326259f2caa17be1e821f5a412",
"status": "affected",
"version": "6a119c1a584aa7a2c6216458f1f272bf1bc93a93",
"versionType": "git"
},
{
"lessThan": "5062d1f4f07facbdade0f402d9a04a788f52e26d",
"status": "affected",
"version": "2a49b025c36ae749cee7ccc4b7e456e02539cdc3",
"versionType": "git"
},
{
"lessThan": "2df2dd27066cdba8041e46a64362325626bdfb2e",
"status": "affected",
"version": "a1edb85e60fdab1e14db63ae8af8db3f0d798fb6",
"versionType": "git"
},
{
"lessThan": "62029bc9ff2c17a4e3a2478d83418ec575413808",
"status": "affected",
"version": "28f6c37a2910f565b4f5960df52b2eccae28c891",
"versionType": "git"
},
{
"lessThan": "d15023fb407337028a654237d8968fefdcf87c2f",
"status": "affected",
"version": "28f6c37a2910f565b4f5960df52b2eccae28c891",
"versionType": "git"
},
{
"lessThan": "36b57c7d2f8b7de224980f1a284432846ad71ca0",
"status": "affected",
"version": "28f6c37a2910f565b4f5960df52b2eccae28c891",
"versionType": "git"
},
{
"lessThan": "325f3fb551f8cd672dbbfc4cf58b14f9ee3fc9e8",
"status": "affected",
"version": "28f6c37a2910f565b4f5960df52b2eccae28c891",
"versionType": "git"
},
{
"status": "affected",
"version": "4262b6eb057d86c7829168c541654fe0d48fdac8",
"versionType": "git"
},
{
"status": "affected",
"version": "97e813e6a143edf4208e15c72199c495ed80cea5",
"versionType": "git"
},
{
"status": "affected",
"version": "16a544f1e013ba0660612f3fe35393b143b19a84",
"versionType": "git"
},
{
"lessThan": "4.19.313",
"status": "affected",
"version": "4.19.256",
"versionType": "semver"
},
{
"lessThan": "5.4.275",
"status": "affected",
"version": "5.4.211",
"versionType": "semver"
},
{
"lessThan": "5.10.216",
"status": "affected",
"version": "5.10.137",
"versionType": "semver"
},
{
"lessThan": "5.15.157",
"status": "affected",
"version": "5.15.61",
"versionType": "semver"
},
{
"lessThan": "4.15",
"status": "affected",
"version": "4.14.291",
"versionType": "semver"
},
{
"lessThan": "5.19",
"status": "affected",
"version": "5.18.18",
"versionType": "semver"
},
{
"lessThan": "5.20",
"status": "affected",
"version": "5.19.2",
"versionType": "semver"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"kernel/kprobes.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.0"
},
{
"lessThan": "6.0",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"version": "4.19.313",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"version": "5.4.275",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.216",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.157",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.87",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.28",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.8.*",
"status": "unaffected",
"version": "6.8.7",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.9",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "4.19.313",
"versionStartIncluding": "4.19.256",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.4.275",
"versionStartIncluding": "5.4.211",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.216",
"versionStartIncluding": "5.10.137",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.157",
"versionStartIncluding": "5.15.61",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.87",
"versionStartIncluding": "6.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.28",
"versionStartIncluding": "6.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.8.7",
"versionStartIncluding": "6.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.9",
"versionStartIncluding": "6.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.14.291",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.18.18",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.19.2",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nkprobes: Fix possible use-after-free issue on kprobe registration\n\nWhen unloading a module, its state is changing MODULE_STATE_LIVE -\u003e\n MODULE_STATE_GOING -\u003e MODULE_STATE_UNFORMED. Each change will take\na time. `is_module_text_address()` and `__module_text_address()`\nworks with MODULE_STATE_LIVE and MODULE_STATE_GOING.\nIf we use `is_module_text_address()` and `__module_text_address()`\nseparately, there is a chance that the first one is succeeded but the\nnext one is failed because module-\u003estate becomes MODULE_STATE_UNFORMED\nbetween those operations.\n\nIn `check_kprobe_address_safe()`, if the second `__module_text_address()`\nis failed, that is ignored because it expected a kernel_text address.\nBut it may have failed simply because module-\u003estate has been changed\nto MODULE_STATE_UNFORMED. In this case, arm_kprobe() will try to modify\nnon-exist module text address (use-after-free).\n\nTo fix this problem, we should not use separated `is_module_text_address()`\nand `__module_text_address()`, but use only `__module_text_address()`\nonce and do `try_module_get(module)` which is only available with\nMODULE_STATE_LIVE."
}
],
"providerMetadata": {
"dateUpdated": "2026-05-23T15:45:28.228Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/b5808d40093403334d939e2c3c417144d12a6f33"
},
{
"url": "https://git.kernel.org/stable/c/93eb31e7c3399e326259f2caa17be1e821f5a412"
},
{
"url": "https://git.kernel.org/stable/c/5062d1f4f07facbdade0f402d9a04a788f52e26d"
},
{
"url": "https://git.kernel.org/stable/c/2df2dd27066cdba8041e46a64362325626bdfb2e"
},
{
"url": "https://git.kernel.org/stable/c/62029bc9ff2c17a4e3a2478d83418ec575413808"
},
{
"url": "https://git.kernel.org/stable/c/d15023fb407337028a654237d8968fefdcf87c2f"
},
{
"url": "https://git.kernel.org/stable/c/36b57c7d2f8b7de224980f1a284432846ad71ca0"
},
{
"url": "https://git.kernel.org/stable/c/325f3fb551f8cd672dbbfc4cf58b14f9ee3fc9e8"
}
],
"title": "kprobes: Fix possible use-after-free issue on kprobe registration",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2024-35955",
"datePublished": "2024-05-20T09:41:48.607Z",
"dateReserved": "2024-05-17T13:50:33.136Z",
"dateUpdated": "2026-05-23T15:45:28.228Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
Loading…
Trend slope:
-
(linear fit over daily sighting counts)
Show additional events:
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Loading…
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.
Loading…
Loading…