Linux Kernel bis 6.5.2 tracing ring_buffer.c rb_end_commit Pufferüberlauf

| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 5.8 | $0-$5k | 0.00 |
Zusammenfassung
Es wurde eine Schwachstelle in Linux Kernel bis 6.5.2 gefunden. Sie wurde als kritisch eingestuft. Es geht dabei um die Funktion rb_end_commit der Datei kernel/trace/ring_buffer.c der Komponente tracing. Mit der Manipulation mit unbekannten Daten kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden.
Die Identifikation der Schwachstelle findet als CVE-2023-53368 statt. Es steht kein Exploit zur Verfügung.
Es wird geraten, die betroffene Komponente zu aktualisieren.
Details
Eine Schwachstelle wurde in Linux Kernel bis 6.5.2 entdeckt. Sie wurde als kritisch eingestuft. Es geht hierbei um die Funktion rb_end_commit der Datei kernel/trace/ring_buffer.c der Komponente tracing. Dank der Manipulation mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. Klassifiziert wurde die Schwachstelle durch CWE als CWE-120. Die Auswirkungen sind bekannt für Vertraulichkeit, Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:
In the Linux kernel, the following vulnerability has been resolved:
tracing: Fix race issue between cpu buffer write and swap
Warning happened in rb_end_commit() at code:
if (RB_WARN_ON(cpu_buffer, !local_read(&cpu_buffer->committing)))
WARNING: CPU: 0 PID: 139 at kernel/trace/ring_buffer.c:3142
rb_commit+0x402/0x4a0
Call Trace:
ring_buffer_unlock_commit+0x42/0x250
trace_buffer_unlock_commit_regs+0x3b/0x250
trace_event_buffer_commit+0xe5/0x440
trace_event_buffer_reserve+0x11c/0x150
trace_event_raw_event_sched_switch+0x23c/0x2c0
__traceiter_sched_switch+0x59/0x80
__schedule+0x72b/0x1580
schedule+0x92/0x120
worker_thread+0xa0/0x6f0
It is because the race between writing event into cpu buffer and swapping
cpu buffer through file per_cpu/cpu0/snapshot:
Write on CPU 0 Swap buffer by per_cpu/cpu0/snapshot on CPU 1
-------- --------
tracing_snapshot_write()
[...]
ring_buffer_lock_reserve()
cpu_buffer = buffer->buffers[cpu]; // 1. Suppose find 'cpu_buffer_a';
[...]
rb_reserve_next_event()
[...]
ring_buffer_swap_cpu()
if (local_read(&cpu_buffer_a->committing))
goto out_dec;
if (local_read(&cpu_buffer_b->committing))
goto out_dec;
buffer_a->buffers[cpu] = cpu_buffer_b;
buffer_b->buffers[cpu] = cpu_buffer_a;
// 2. cpu_buffer has swapped here.
rb_start_commit(cpu_buffer);
if (unlikely(READ_ONCE(cpu_buffer->buffer)
!= buffer)) { // 3. This check passed due to 'cpu_buffer->buffer'
[...] // has not changed here.
return NULL;
}
cpu_buffer_b->buffer = buffer_a;
cpu_buffer_a->buffer = buffer_b;
[...]
// 4. Reserve event from 'cpu_buffer_a'.
ring_buffer_unlock_commit()
[...]
cpu_buffer = buffer->buffers[cpu]; // 5. Now find 'cpu_buffer_b' !!!
rb_commit(cpu_buffer)
rb_end_commit() // 6. WARN for the wrong 'committing' state !!!
Based on above analysis, we can easily reproduce by following testcase:
``` bash
#!/bin/bash
dmesg -n 7
sysctl -w kernel.panic_on_warn=1
TR=/sys/kernel/tracing
echo 7 > ${TR}/buffer_size_kb
echo "sched:sched_switch" > ${TR}/set_event
while [ true ]; do
echo 1 > ${TR}/per_cpu/cpu0/snapshot
done &
while [ true ]; do
echo 1 > ${TR}/per_cpu/cpu0/snapshot
done &
while [ true ]; do
echo 1 > ${TR}/per_cpu/cpu0/snapshot
done &
```
To fix it, IIUC, we can use smp_call_function_single() to do the swap on
the target cpu where the buffer is located, so that above race would be
avoided.Das Advisory findet sich auf git.kernel.org. Die Verwundbarkeit wird seit dem 17.09.2025 mit der eindeutigen Identifikation CVE-2023-53368 gehandelt. Die Ausnutzbarkeit gilt als schwierig. Zur Schwachstelle sind technische Details bekannt, ein verfügbarer Exploit jedoch nicht. Die Beschaffenheit der Schwachstelle lässt vermuten, dass ein Exploit momentan zu etwa USD $0-$5k gehandelt werden wird (Preisberechnung vom 27.12.2025).
Für den Vulnerability Scanner Nessus wurde ein Plugin mit der ID 265675 (Linux Distros Unpatched Vulnerability : CVE-2023-53368) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann.
Ein Aktualisieren auf die Version 5.4.257, 5.10.195, 5.15.132, 6.1.53, 6.4.16 oder 6.5.3 vermag dieses Problem zu lösen. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 90e037cabc2c2dfc39b3dd9c5b22ea91f995539a/c5d30d6aa83d99fba8dfdd9cf6c4e4e7a63244db/6182318ac04648b46db9d441fd7d696337fcdd0b/74c85396bd73eca80b96510b4edf93b9a3aff75f/89c89da92a60028013f9539be0dcce7e44405a43/37ca1b686078b00cc4ffa008e2190615f7709b5d/3163f635b20e9e1fb4659e74f47918c9dddfe64e lösen. Dieser kann von git.kernel.org bezogen werden. Als bestmögliche Massnahme wird das Upgrade auf eine neue Version empfohlen.
Unter anderem wird der Fehler auch in den Datenbanken von Tenable (265675) und CERT Bund (WID-SEC-2025-2087) dokumentiert. Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Betroffen
- Amazon Linux 2
- Red Hat Enterprise Linux
- SUSE Linux
- Oracle Linux
- IBM QRadar SIEM
- Open Source Linux Kernel
- RESF Rocky Linux
- Dell Secure Connect Gateway
Produkt
Typ
Hersteller
Name
Version
- 5.4.256
- 5.10.194
- 5.15.131
- 6.1.0
- 6.1.1
- 6.1.2
- 6.1.3
- 6.1.4
- 6.1.5
- 6.1.6
- 6.1.7
- 6.1.8
- 6.1.9
- 6.1.10
- 6.1.11
- 6.1.12
- 6.1.13
- 6.1.14
- 6.1.15
- 6.1.16
- 6.1.17
- 6.1.18
- 6.1.19
- 6.1.20
- 6.1.21
- 6.1.22
- 6.1.23
- 6.1.24
- 6.1.25
- 6.1.26
- 6.1.27
- 6.1.28
- 6.1.29
- 6.1.30
- 6.1.31
- 6.1.32
- 6.1.33
- 6.1.34
- 6.1.35
- 6.1.36
- 6.1.37
- 6.1.38
- 6.1.39
- 6.1.40
- 6.1.41
- 6.1.42
- 6.1.43
- 6.1.44
- 6.1.45
- 6.1.46
- 6.1.47
- 6.1.48
- 6.1.49
- 6.1.50
- 6.1.51
- 6.1.52
- 6.4.0
- 6.4.1
- 6.4.2
- 6.4.3
- 6.4.4
- 6.4.5
- 6.4.6
- 6.4.7
- 6.4.8
- 6.4.9
- 6.4.10
- 6.4.11
- 6.4.12
- 6.4.13
- 6.4.14
- 6.4.15
- 6.5.0
- 6.5.1
- 6.5.2
Lizenz
Webseite
- Hersteller: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 5.9VulDB Meta Temp Score: 5.8
VulDB Base Score: 7.1
VulDB Temp Score: 6.8
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
NVD Base Score: 4.7
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-120 / 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: 265675
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2023-53368
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Kernel 5.4.257/5.10.195/5.15.132/6.1.53/6.4.16/6.5.3
Patch: 90e037cabc2c2dfc39b3dd9c5b22ea91f995539a/c5d30d6aa83d99fba8dfdd9cf6c4e4e7a63244db/6182318ac04648b46db9d441fd7d696337fcdd0b/74c85396bd73eca80b96510b4edf93b9a3aff75f/89c89da92a60028013f9539be0dcce7e44405a43/37ca1b686078b00cc4ffa008e2190615f7709b5d/3163f635b20e9e1fb4659e74f47918c9dddfe64e
Timeline
17.09.2025 Advisory veröffentlicht17.09.2025 CVE zugewiesen
17.09.2025 VulDB Eintrag erstellt
27.12.2025 VulDB Eintrag letzte Aktualisierung
Quellen
Hersteller: kernel.orgAdvisory: git.kernel.org
Status: Bestätigt
CVE: CVE-2023-53368 (🔒)
GCVE (CVE): GCVE-0-2023-53368
GCVE (VulDB): GCVE-100-324731
CERT Bund: WID-SEC-2025-2087 - Linux Kernel: Mehrere Schwachstellen
Eintrag
Erstellt: 17.09.2025 18:08Aktualisierung: 27.12.2025 07:41
Anpassungen: 17.09.2025 18:08 (60), 21.09.2025 03:21 (2), 11.12.2025 19:39 (11), 27.12.2025 07:41 (7)
Komplett: 🔍
Cache ID: 216::103
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.