Action not permitted
Modal body text goes here.
Modal Title
Modal Body
EUVD-2026-345256
European Vulnerability Database identifier assigned by ENISAReserved
2026-10-02 08:00
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-02T08:00:52.727533+00:00",
"id": "EUVD-2026-345256"
}
CVE-2023-53587 (GCVE-0-2023-53587)
Vulnerability from cvelistv5 – Published: 2025-10-04 15:44 – Updated: 2026-08-05 09:14
VLAI
EPSS
VEX
Title
ring-buffer: Sync IRQ works before buffer destruction
Summary
In the Linux kernel, the following vulnerability has been resolved:
ring-buffer: Sync IRQ works before buffer destruction
If something was written to the buffer just before destruction,
it may be possible (maybe not in a real system, but it did
happen in ARCH=um with time-travel) to destroy the ringbuffer
before the IRQ work ran, leading this KASAN report (or a crash
without KASAN):
BUG: KASAN: slab-use-after-free in irq_work_run_list+0x11a/0x13a
Read of size 8 at addr 000000006d640a48 by task swapper/0
CPU: 0 PID: 0 Comm: swapper Tainted: G W O 6.3.0-rc1 #7
Stack:
60c4f20f 0c203d48 41b58ab3 60f224fc
600477fa 60f35687 60c4f20f 601273dd
00000008 6101eb00 6101eab0 615be548
Call Trace:
[<60047a58>] show_stack+0x25e/0x282
[<60c609e0>] dump_stack_lvl+0x96/0xfd
[<60c50d4c>] print_report+0x1a7/0x5a8
[<603078d3>] kasan_report+0xc1/0xe9
[<60308950>] __asan_report_load8_noabort+0x1b/0x1d
[<60232844>] irq_work_run_list+0x11a/0x13a
[<602328b4>] irq_work_tick+0x24/0x34
[<6017f9dc>] update_process_times+0x162/0x196
[<6019f335>] tick_sched_handle+0x1a4/0x1c3
[<6019fd9e>] tick_sched_timer+0x79/0x10c
[<601812b9>] __hrtimer_run_queues.constprop.0+0x425/0x695
[<60182913>] hrtimer_interrupt+0x16c/0x2c4
[<600486a3>] um_timer+0x164/0x183
[...]
Allocated by task 411:
save_stack_trace+0x99/0xb5
stack_trace_save+0x81/0x9b
kasan_save_stack+0x2d/0x54
kasan_set_track+0x34/0x3e
kasan_save_alloc_info+0x25/0x28
____kasan_kmalloc+0x8b/0x97
__kasan_kmalloc+0x10/0x12
__kmalloc+0xb2/0xe8
load_elf_phdrs+0xee/0x182
[...]
The buggy address belongs to the object at 000000006d640800
which belongs to the cache kmalloc-1k of size 1024
The buggy address is located 584 bytes inside of
freed 1024-byte region [000000006d640800, 000000006d640c00)
Add the appropriate irq_work_sync() so the work finishes before
the buffers are destroyed.
Prior to the commit in the Fixes tag below, there was only a
single global IRQ work, so this issue didn't exist.
Severity
7.8 (High)
Assigner
References
9 references
Impacted products
2 products
| Vendor | Product | Version | |
|---|---|---|---|
| Linux | Linux |
Affected:
15693458c4bc0693fd63a50d60f35b628fcf4e29 , < 372c5ee537b8366b64b691ba29e9335525e1655e
(git)
Affected: 15693458c4bc0693fd63a50d60f35b628fcf4e29 , < 2702b67f59d455072a08dc40312f9b090d4dec04 (git) Affected: 15693458c4bc0693fd63a50d60f35b628fcf4e29 , < 2399b1fda025e939b6fb1ac94505bcf718534e65 (git) Affected: 15693458c4bc0693fd63a50d60f35b628fcf4e29 , < 1c99f65d6af2a454bfd5207b4f6a97c8474a1191 (git) Affected: 15693458c4bc0693fd63a50d60f35b628fcf4e29 , < c63741e872fcfb10e153517750f7908f0c00f60d (git) Affected: 15693458c4bc0693fd63a50d60f35b628fcf4e29 , < d9834abd8b24d1fe8092859e436fe1e0fd467c61 (git) Affected: 15693458c4bc0693fd63a50d60f35b628fcf4e29 , < fc6858b7f8e1221f62ce8c6ff8a13a349c32cd76 (git) Affected: 15693458c4bc0693fd63a50d60f35b628fcf4e29 , < 0a65165bd24ee9231191597b7c232376fcd70cdb (git) Affected: 15693458c4bc0693fd63a50d60f35b628fcf4e29 , < 675751bb20634f981498c7d66161584080cc061e (git) |
|
| Linux | Linux |
Affected:
3.10
Unaffected: 0 , < 3.10 (semver) Unaffected: 4.14.315 , ≤ 4.14.* (semver) Unaffected: 4.19.283 , ≤ 4.19.* (semver) Unaffected: 5.4.243 , ≤ 5.4.* (semver) Unaffected: 5.10.180 , ≤ 5.10.* (semver) Unaffected: 5.15.111 , ≤ 5.15.* (semver) Unaffected: 6.1.28 , ≤ 6.1.* (semver) Unaffected: 6.2.15 , ≤ 6.2.* (semver) Unaffected: 6.3.2 , ≤ 6.3.* (semver) Unaffected: 6.4 , ≤ * (original_commit_for_fix) |
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"kernel/trace/ring_buffer.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "372c5ee537b8366b64b691ba29e9335525e1655e",
"status": "affected",
"version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
"versionType": "git"
},
{
"lessThan": "2702b67f59d455072a08dc40312f9b090d4dec04",
"status": "affected",
"version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
"versionType": "git"
},
{
"lessThan": "2399b1fda025e939b6fb1ac94505bcf718534e65",
"status": "affected",
"version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
"versionType": "git"
},
{
"lessThan": "1c99f65d6af2a454bfd5207b4f6a97c8474a1191",
"status": "affected",
"version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
"versionType": "git"
},
{
"lessThan": "c63741e872fcfb10e153517750f7908f0c00f60d",
"status": "affected",
"version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
"versionType": "git"
},
{
"lessThan": "d9834abd8b24d1fe8092859e436fe1e0fd467c61",
"status": "affected",
"version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
"versionType": "git"
},
{
"lessThan": "fc6858b7f8e1221f62ce8c6ff8a13a349c32cd76",
"status": "affected",
"version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
"versionType": "git"
},
{
"lessThan": "0a65165bd24ee9231191597b7c232376fcd70cdb",
"status": "affected",
"version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
"versionType": "git"
},
{
"lessThan": "675751bb20634f981498c7d66161584080cc061e",
"status": "affected",
"version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"kernel/trace/ring_buffer.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "3.10"
},
{
"lessThan": "3.10",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "4.14.*",
"status": "unaffected",
"version": "4.14.315",
"versionType": "semver"
},
{
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"version": "4.19.283",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"version": "5.4.243",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.180",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.111",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.28",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.2.*",
"status": "unaffected",
"version": "6.2.15",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.3.*",
"status": "unaffected",
"version": "6.3.2",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.4",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "4.14.315",
"versionStartIncluding": "3.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "4.19.283",
"versionStartIncluding": "3.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.4.243",
"versionStartIncluding": "3.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.180",
"versionStartIncluding": "3.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.111",
"versionStartIncluding": "3.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.28",
"versionStartIncluding": "3.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.2.15",
"versionStartIncluding": "3.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.3.2",
"versionStartIncluding": "3.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.4",
"versionStartIncluding": "3.10",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nring-buffer: Sync IRQ works before buffer destruction\n\nIf something was written to the buffer just before destruction,\nit may be possible (maybe not in a real system, but it did\nhappen in ARCH=um with time-travel) to destroy the ringbuffer\nbefore the IRQ work ran, leading this KASAN report (or a crash\nwithout KASAN):\n\n BUG: KASAN: slab-use-after-free in irq_work_run_list+0x11a/0x13a\n Read of size 8 at addr 000000006d640a48 by task swapper/0\n\n CPU: 0 PID: 0 Comm: swapper Tainted: G W O 6.3.0-rc1 #7\n Stack:\n 60c4f20f 0c203d48 41b58ab3 60f224fc\n 600477fa 60f35687 60c4f20f 601273dd\n 00000008 6101eb00 6101eab0 615be548\n Call Trace:\n [\u003c60047a58\u003e] show_stack+0x25e/0x282\n [\u003c60c609e0\u003e] dump_stack_lvl+0x96/0xfd\n [\u003c60c50d4c\u003e] print_report+0x1a7/0x5a8\n [\u003c603078d3\u003e] kasan_report+0xc1/0xe9\n [\u003c60308950\u003e] __asan_report_load8_noabort+0x1b/0x1d\n [\u003c60232844\u003e] irq_work_run_list+0x11a/0x13a\n [\u003c602328b4\u003e] irq_work_tick+0x24/0x34\n [\u003c6017f9dc\u003e] update_process_times+0x162/0x196\n [\u003c6019f335\u003e] tick_sched_handle+0x1a4/0x1c3\n [\u003c6019fd9e\u003e] tick_sched_timer+0x79/0x10c\n [\u003c601812b9\u003e] __hrtimer_run_queues.constprop.0+0x425/0x695\n [\u003c60182913\u003e] hrtimer_interrupt+0x16c/0x2c4\n [\u003c600486a3\u003e] um_timer+0x164/0x183\n [...]\n\n Allocated by task 411:\n save_stack_trace+0x99/0xb5\n stack_trace_save+0x81/0x9b\n kasan_save_stack+0x2d/0x54\n kasan_set_track+0x34/0x3e\n kasan_save_alloc_info+0x25/0x28\n ____kasan_kmalloc+0x8b/0x97\n __kasan_kmalloc+0x10/0x12\n __kmalloc+0xb2/0xe8\n load_elf_phdrs+0xee/0x182\n [...]\n\n The buggy address belongs to the object at 000000006d640800\n which belongs to the cache kmalloc-1k of size 1024\n The buggy address is located 584 bytes inside of\n freed 1024-byte region [000000006d640800, 000000006d640c00)\n\nAdd the appropriate irq_work_sync() so the work finishes before\nthe buffers are destroyed.\n\nPrior to the commit in the Fixes tag below, there was only a\nsingle global IRQ work, so this issue didn\u0027t exist."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - The vulnerability is reached through local filesystem operations on tracefs \u2014 poll/read on an instance\u0027s trace_pipe to arm waiters_pending, writes that commit ring buffer events, and rmdir of the instance directory to free the buffer. No network or remote peer input is involved.\nAC:L - The attacker controls both sides of the race, arming the waiter, generating the commit that queues the irq_work, and issuing the rmdir that frees the buffer, and can retry the loop indefinitely. On architectures where arch_irq_work_raise() falls back to the timer tick (the __weak stub in kernel/irq_work.c), the queued work is not drained for up to a full jiffy, giving a millisecond-scale window.\nPR:L - An unprivileged local account is sufficient wherever tracefs access is delegated, which is standard on Android/Perfetto, ChromeOS and developer/instrumentation deployments that grant a tracing group access to /sys/kernel/tracing/instances. No real root or capability in the initial namespace is required by the code path itself, consistent with all other scored kernel/trace CVEs.\nUI:N - The attacker performs every step (arming the waiter, committing an event, removing the instance) from its own threads. No action by any other user or victim process is needed.\nS:U - The use-after-free occurs in kernel slab memory and any resulting compromise stays within the kernel\u0027s own security authority. No VM, IOMMU or sandbox boundary is crossed.\nC:H - This is a use-after-free on a kmalloc-1k object that is read back by irq_work_run_list()/irq_work_single(); combined with the hijacked work-\u003efunc(work) indirect call it yields an arbitrary kernel read primitive once the slot is reallocated with sprayed data.\nI:H - irq_work_single() writes into the freed object via atomic_set() and atomic_cmpxchg() on node.a_flags, and then calls work-\u003efunc(work) \u2014 a function pointer sourced from freed, attacker-reallocatable memory \u2014 giving control-flow hijack and arbitrary write.\nA:H - Even unexploited, the dangling irq_work node causes a slab-use-after-free that crashes the kernel from hardirq context, as shown by the KASAN splat in irq_work_run_list()/irq_work_tick() in the commit message."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-05T09:14:58.634Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/372c5ee537b8366b64b691ba29e9335525e1655e"
},
{
"url": "https://git.kernel.org/stable/c/2702b67f59d455072a08dc40312f9b090d4dec04"
},
{
"url": "https://git.kernel.org/stable/c/2399b1fda025e939b6fb1ac94505bcf718534e65"
},
{
"url": "https://git.kernel.org/stable/c/1c99f65d6af2a454bfd5207b4f6a97c8474a1191"
},
{
"url": "https://git.kernel.org/stable/c/c63741e872fcfb10e153517750f7908f0c00f60d"
},
{
"url": "https://git.kernel.org/stable/c/d9834abd8b24d1fe8092859e436fe1e0fd467c61"
},
{
"url": "https://git.kernel.org/stable/c/fc6858b7f8e1221f62ce8c6ff8a13a349c32cd76"
},
{
"url": "https://git.kernel.org/stable/c/0a65165bd24ee9231191597b7c232376fcd70cdb"
},
{
"url": "https://git.kernel.org/stable/c/675751bb20634f981498c7d66161584080cc061e"
}
],
"title": "ring-buffer: Sync IRQ works before buffer destruction",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2023-53587",
"datePublished": "2025-10-04T15:44:02.679Z",
"dateReserved": "2025-10-04T15:40:38.477Z",
"dateUpdated": "2026-08-05T09:14:58.634Z",
"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…