CVE-2025-40319
bpf: Sync pending IRQ work before freeing ring buffer
Description
In the Linux kernel, the following vulnerability has been resolved: bpf: Sync pending IRQ work before freeing ring buffer Fix a race where irq_work can be queued in bpf_ringbuf_commit() but the ring buffer is freed before the work executes. In the syzbot reproducer, a BPF program attached to sched_switch triggers bpf_ringbuf_commit(), queuing an irq_work. If the ring buffer is freed before this work executes, the irq_work thread may accesses freed memory. Calling `irq_work_sync(&rb->work)` ensures that all pending irq_work complete before freeing the buffer.
INFO
Published Date :
Dec. 8, 2025, 1:16 a.m.
Last Modified :
Oct. 15, 2026, 10:19 p.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | |||||
| CVSS 3.1 | HIGH | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
Solution
- Sync pending IRQ work before freeing the ring buffer.
- Apply the kernel patch to fix the race condition.
Public PoC/Exploit Available at Github
CVE-2025-40319 has a 1 public
PoC/Exploit available at Github.
Go to the Public Exploits tab to see the list.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2025-40319.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2025-40319 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2025-40319
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
An eBPF-based tool for intercepting and inspecting TLS/SSL traffic in real time on Linux. Ships as a CLI binary, a container image and a Helm chart for Kubernetes DaemonSet deployment.
cli ebpf linux openssl security tls auditing cpp helm kubernetes trace
Dockerfile Makefile C Go Template Python
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2025-40319 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2025-40319 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Oct. 15, 2026
Action Type Old Value New Value Added Reference https://git.kernel.org/stable/c/10ca3b2eec384628bc9f5d8190aed9427ad2dde6 Added Reference https://git.kernel.org/stable/c/430e15544f11f8de26b2b5109c7152f71b78295e Added Reference https://git.kernel.org/stable/c/47626748a2a00068dbbd5836d19076637b4e235b Added Reference https://git.kernel.org/stable/c/4e9077638301816a7d73fa1e1b4c1db4a7e3b59c Added Reference https://git.kernel.org/stable/c/6451141103547f4efd774e912418a3b4318046c6 Added Reference https://git.kernel.org/stable/c/de2ce6b14bc3e565708a39bdba3ef9162aeffc72 Added Reference https://git.kernel.org/stable/c/e1828c7a8d8135e21ff6adaaa9458c32aae13b11 Removed Reference https://git.kernel.org/stable/c/10ca3b2eec384628bc9f5d8190aed9427ad2dde6 Removed Reference https://git.kernel.org/stable/c/430e15544f11f8de26b2b5109c7152f71b78295e Removed Reference https://git.kernel.org/stable/c/47626748a2a00068dbbd5836d19076637b4e235b Removed Reference https://git.kernel.org/stable/c/4e9077638301816a7d73fa1e1b4c1db4a7e3b59c Removed Reference https://git.kernel.org/stable/c/6451141103547f4efd774e912418a3b4318046c6 Removed Reference https://git.kernel.org/stable/c/de2ce6b14bc3e565708a39bdba3ef9162aeffc72 Removed Reference https://git.kernel.org/stable/c/e1828c7a8d8135e21ff6adaaa9458c32aae13b11 -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Oct. 15, 2026
Action Type Old Value New Value Added SSVC {'id': 'CVE-2025-40319', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'none'}, {'automatable': 'no'}, {'technicalImpact': 'total'}], 'version': '2.0.3', 'timestamp': '2026-10-15T21:59:12.535828Z'} -
CVE Translated by [email protected]
Oct. 14, 2026
Action Type Old Value New Value Added Translation Title: Linux, Description: En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: bpf: Sincronizar el trabajo IRQ pendiente antes de liberar el búfer de anillo Corrige una condición de carrera donde irq_work puede ser encolado en bpf_ringbuf_commit() pero el búfer de anillo es liberado antes de que el trabajo se ejecute. En el reproductor de syzbot, un programa BPF adjunto a sched_switch activa bpf_ringbuf_commit(), encolando un irq_work. Si el búfer de anillo es liberado antes de que este trabajo se ejecute, el hilo de irq_work puede acceder a memoria liberada. Llamar a 'irq_work_sync(&rb -> work)' asegura que todo el irq_work pendiente se complete antes de liberar el búfer. -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jul. 30, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jun. 17, 2026
Action Type Old Value New Value Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '457f44363a8894135c85b7a9afd2bd8196db24ab', 'lessThan': '47626748a2a00068dbbd5836d19076637b4e235b', 'versionType': 'git'}, {'status': 'affected', 'version': '457f44363a8894135c85b7a9afd2bd8196db24ab', 'lessThan': 'de2ce6b14bc3e565708a39bdba3ef9162aeffc72', 'versionType': 'git'}, {'status': 'affected', 'version': '457f44363a8894135c85b7a9afd2bd8196db24ab', 'lessThan': 'e1828c7a8d8135e21ff6adaaa9458c32aae13b11', 'versionType': 'git'}, {'status': 'affected', 'version': '457f44363a8894135c85b7a9afd2bd8196db24ab', 'lessThan': '6451141103547f4efd774e912418a3b4318046c6', 'versionType': 'git'}, {'status': 'affected', 'version': '457f44363a8894135c85b7a9afd2bd8196db24ab', 'lessThan': '10ca3b2eec384628bc9f5d8190aed9427ad2dde6', 'versionType': 'git'}, {'status': 'affected', 'version': '457f44363a8894135c85b7a9afd2bd8196db24ab', 'lessThan': '430e15544f11f8de26b2b5109c7152f71b78295e', 'versionType': 'git'}, {'status': 'affected', 'version': '457f44363a8894135c85b7a9afd2bd8196db24ab', 'lessThan': '4e9077638301816a7d73fa1e1b4c1db4a7e3b59c', 'versionType': 'git'}], 'programFiles': ['kernel/bpf/ringbuf.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.8'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.8', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.247', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.197', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.159', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.117', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.58', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.17.8', 'versionType': 'semver', 'lessThanOrEqual': '6.17.*'}, {'status': 'unaffected', 'version': '6.18', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['kernel/bpf/ringbuf.c'], 'defaultStatus': 'affected'}] -
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Dec. 08, 2025
Action Type Old Value New Value Added Description In the Linux kernel, the following vulnerability has been resolved: bpf: Sync pending IRQ work before freeing ring buffer Fix a race where irq_work can be queued in bpf_ringbuf_commit() but the ring buffer is freed before the work executes. In the syzbot reproducer, a BPF program attached to sched_switch triggers bpf_ringbuf_commit(), queuing an irq_work. If the ring buffer is freed before this work executes, the irq_work thread may accesses freed memory. Calling `irq_work_sync(&rb->work)` ensures that all pending irq_work complete before freeing the buffer. Added Reference https://git.kernel.org/stable/c/10ca3b2eec384628bc9f5d8190aed9427ad2dde6 Added Reference https://git.kernel.org/stable/c/430e15544f11f8de26b2b5109c7152f71b78295e Added Reference https://git.kernel.org/stable/c/47626748a2a00068dbbd5836d19076637b4e235b Added Reference https://git.kernel.org/stable/c/4e9077638301816a7d73fa1e1b4c1db4a7e3b59c Added Reference https://git.kernel.org/stable/c/6451141103547f4efd774e912418a3b4318046c6 Added Reference https://git.kernel.org/stable/c/de2ce6b14bc3e565708a39bdba3ef9162aeffc72 Added Reference https://git.kernel.org/stable/c/e1828c7a8d8135e21ff6adaaa9458c32aae13b11