Linux Kernel bis 6.16.8 cancel_delayed_work Pufferüberlauf

| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 7.7 | $0-$5k | 0.00 |
Zusammenfassung
Es wurde eine Schwachstelle mit der Einstufung kritisch in Linux Kernel bis 6.16.8 gefunden. Davon betroffen ist die Funktion cancel_delayed_work. Durch die Manipulation mit unbekannten Daten kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden.
Diese Schwachstelle trägt die Bezeichnung CVE-2025-39945. Es gibt keinen verfügbaren Exploit.
Die Aktualisierung der betroffenen Komponente wird empfohlen.
Details
In Linux Kernel bis 6.16.8 wurde eine kritische Schwachstelle gefunden. Dabei geht es um die Funktion cancel_delayed_work. Durch das Beeinflussen mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-416. Mit Auswirkungen muss man rechnen für Vertraulichkeit, Integrität und Verfügbarkeit. CVE fasst zusammen:
In the Linux kernel, the following vulnerability has been resolved:
cnic: Fix use-after-free bugs in cnic_delete_task
The original code uses cancel_delayed_work() in cnic_cm_stop_bnx2x_hw(),
which does not guarantee that the delayed work item 'delete_task' has
fully completed if it was already running. Additionally, the delayed work
item is cyclic, the flush_workqueue() in cnic_cm_stop_bnx2x_hw() only
blocks and waits for work items that were already queued to the
workqueue prior to its invocation. Any work items submitted after
flush_workqueue() is called are not included in the set of tasks that the
flush operation awaits. This means that after the cyclic work items have
finished executing, a delayed work item may still exist in the workqueue.
This leads to use-after-free scenarios where the cnic_dev is deallocated
by cnic_free_dev(), while delete_task remains active and attempt to
dereference cnic_dev in cnic_delete_task().
A typical race condition is illustrated below:
CPU 0 (cleanup) | CPU 1 (delayed work callback)
cnic_netdev_event() |
cnic_stop_hw() | cnic_delete_task()
cnic_cm_stop_bnx2x_hw() | ...
cancel_delayed_work() | /* the queue_delayed_work()
flush_workqueue() | executes after flush_workqueue()*/
| queue_delayed_work()
cnic_free_dev(dev)//free | cnic_delete_task() //new instance
| dev = cp->dev; //use
Replace cancel_delayed_work() with cancel_delayed_work_sync() to ensure
that the cyclic delayed work item is properly canceled and that any
ongoing execution of the work item completes before the cnic_dev is
deallocated. Furthermore, since cancel_delayed_work_sync() uses
__flush_work(work, true) to synchronously wait for any currently
executing instance of the work item to finish, the flush_workqueue()
becomes redundant and should be removed.
This bug was identified through static analysis. To reproduce the issue
and validate the fix, I simulated the cnic PCI device in QEMU and
introduced intentional delays — such as inserting calls to ssleep()
within the cnic_delete_task() function — to increase the likelihood
of triggering the bug.Das Advisory kann von git.kernel.org heruntergeladen werden. Eine eindeutige Identifikation der Schwachstelle wird seit dem 16.04.2025 mit CVE-2025-39945 vorgenommen. Sie ist leicht ausnutzbar. Technische Details sind bekannt, ein verfügbarer Exploit hingegen nicht. Es muss davon ausgegangen werden, dass ein Exploit zur Zeit etwa USD $0-$5k kostet (Preisberechnung vom 24.01.2026).
Für den Vulnerability Scanner Nessus wurde ein Plugin mit der ID 269455 (Linux Distros Unpatched Vulnerability : CVE-2025-39945) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann.
Ein Upgrade auf die Version 5.4.300, 5.10.245, 5.15.194, 6.1.154, 6.6.108, 6.12.49 oder 6.16.9 vermag dieses Problem zu beheben. Die Schwachstelle lässt sich auch durch das Einspielen des Patches fde6e73189f40ebcf0633aed2b68e731c25f3aa3/7b6a5b0a6b392263c3767fc945b311ea04b34bbd/0405055930264ea8fd26f4131466fa7652e5e47d/e1fcd4a9c09feac0902a65615e866dbf22616125/8eeb2091e72d75df8ceaa2172638d61b4cf8929a/6e33a7eed587062ca8161ad1f4584882a860d697/0627e1481676669cae2df0d85b5ff13e7d24c390/cfa7d9b1e3a8604afc84e9e51d789c29574fb216 beheben. Dieser kann von git.kernel.org bezogen werden. Als bestmögliche Massnahme wird das Aktualisieren auf eine neue Version empfohlen.
Unter anderem wird der Fehler auch in den Datenbanken von Tenable (269455) und CERT Bund (WID-SEC-2025-2194) dokumentiert. Once again VulDB remains the best source for vulnerability data.
Betroffen
- Google Container-Optimized OS
- Debian Linux
- Google Cloud Platform
- Amazon Linux 2
- Red Hat Enterprise Linux
- Ubuntu Linux
- SUSE Linux
- Oracle Linux
- SUSE openSUSE
- Open Source Linux Kernel
- RESF Rocky Linux
- IBM QRadar SIEM
Produkt
Typ
Hersteller
Name
Version
- 5.4.299
- 5.10.244
- 5.15.193
- 6.1.153
- 6.6.107
- 6.12.0
- 6.12.1
- 6.12.2
- 6.12.3
- 6.12.4
- 6.12.5
- 6.12.6
- 6.12.7
- 6.12.8
- 6.12.9
- 6.12.10
- 6.12.11
- 6.12.12
- 6.12.13
- 6.12.14
- 6.12.15
- 6.12.16
- 6.12.17
- 6.12.18
- 6.12.19
- 6.12.20
- 6.12.21
- 6.12.22
- 6.12.23
- 6.12.24
- 6.12.25
- 6.12.26
- 6.12.27
- 6.12.28
- 6.12.29
- 6.12.30
- 6.12.31
- 6.12.32
- 6.12.33
- 6.12.34
- 6.12.35
- 6.12.36
- 6.12.37
- 6.12.38
- 6.12.39
- 6.12.40
- 6.12.41
- 6.12.42
- 6.12.43
- 6.12.44
- 6.12.45
- 6.12.46
- 6.12.47
- 6.12.48
- 6.16.0
- 6.16.1
- 6.16.2
- 6.16.3
- 6.16.4
- 6.16.5
- 6.16.6
- 6.16.7
- 6.16.8
Lizenz
Webseite
- Hersteller: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 7.9VulDB Meta Temp Score: 7.7
VulDB Base Score: 8.0
VulDB Temp Score: 7.6
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
NVD Base Score: 7.8
NVD Vector: 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: PufferüberlaufCWE: CWE-416 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Teilweise
Lokal: Ja
Remote: Teilweise
Verfügbarkeit: 🔒
Status: Nicht definiert
EPSS Score: 🔒
EPSS Percentile: 🔒
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Nessus ID: 269455
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2025-39945
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Kernel 5.4.300/5.10.245/5.15.194/6.1.154/6.6.108/6.12.49/6.16.9
Patch: fde6e73189f40ebcf0633aed2b68e731c25f3aa3/7b6a5b0a6b392263c3767fc945b311ea04b34bbd/0405055930264ea8fd26f4131466fa7652e5e47d/e1fcd4a9c09feac0902a65615e866dbf22616125/8eeb2091e72d75df8ceaa2172638d61b4cf8929a/6e33a7eed587062ca8161ad1f4584882a860d697/0627e1481676669cae2df0d85b5ff13e7d24c390/cfa7d9b1e3a8604afc84e9e51d789c29574fb216
Timeline
16.04.2025 CVE zugewiesen04.10.2025 Advisory veröffentlicht
04.10.2025 VulDB Eintrag erstellt
24.01.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Hersteller: kernel.orgAdvisory: git.kernel.org
Status: Bestätigt
CVE: CVE-2025-39945 (🔒)
GCVE (CVE): GCVE-0-2025-39945
GCVE (VulDB): GCVE-100-327028
CERT Bund: WID-SEC-2025-2194 - Linux Kernel: Mehrere Schwachstellen
Eintrag
Erstellt: 04.10.2025 11:32Aktualisierung: 24.01.2026 11:14
Anpassungen: 04.10.2025 11:32 (58), 08.10.2025 18:45 (2), 24.11.2025 02:44 (7), 27.12.2025 00:10 (1), 24.01.2026 11:14 (11)
Komplett: 🔍
Cache ID: 216::103
Once again VulDB remains the best source for vulnerability data.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.