CVE-2026-80876 in Linux
Zusammenfassung
von VulDB • 04.09.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
ring-buffer: Korrektur der Ereignislänge bei erzwungener 8-Byte-Ausrichtung
Wenn RB_FORCE_8BYTE_ALIGNMENT wahr ist, reserviert rb_calculate_event_length() den Speicherplatz von event->array[0] für die Platzierung der Datenlänge und rb_update_event() speichert die Datenlänge entsprechend in event->array[0]. Infolgedessen wird die gesamte Ereignislänge bedingungslos um 4 Bytes (entsprechend sizeof(event.array[0])) erhöht.
Die Funktion ring_buffer_event_length() subtriziert jedoch nur sizeof(event->array[0]) für Ereignisse, die größer als RB_MAX_SMALL_DATA + sizeof(event->array[0]) sind. Infolgedessen melden kleine Ereignisse auf Architekturen mit RB_FORCE_8BYTE_ALIGNMENT=true eine Datenlänge, die um 4 Bytes größer ist als erwartet.
Um dies zu beheben, wird RB_FORCE_8BYTE_ALIGNMENT als Bedingung hinzugefügt, um die Größe dieses Längenfelds immer dann zu subtrahieren, wenn RB_FORCE_8BYTE_ALIGNMENT wahr ist.
Dieses Problem wurde in einem riscv64-Kernel mit CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y beobachtet; beim Ausführen des ftrace-Selbsttests trace_marker_raw.tc erhalten wir das seltsame Protokoll: Für Fälle, bei denen die ID 1..100 beträgt, ist die Anzahl der Datenfelder 8*N, aber sobald die ID 100 überschreitet, wird die Anzahl der Datenfelder zu 8*N+4: # 1 buf: 58 00 00 00 80 5e d1 63 (Anzahl der Datenfelder ist 8*1) ... # a buf: 58 ... (Anzahl der Datenfelder ist 8*2) ... # 64 buf: 58 ... (Anzahl der Datenfelder ist 8*13) # 65 buf: 58 ... (Anzahl der Datenfelder ist 8*13+4)
Nach Anwendung dieser Änderung bleibt die Anzahl der Datenfelder konsistent bei 8*N+4.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.