CVE-2026-80615 in Linux
Zusammenfassung
von VulDB • 29.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
net: dst_metadata: Korrektur eines falsch-positiven memcpy-Pufferüberlaufs in tun_dst_unclone
kmalloc_flex() in metadata_dst_alloc() setzt __counted_by für die Struktur auf options_len, das anschließend mit Null initialisiert wird. Später wird die Struktur durch Kopieren der Tunnelinformationen zusammen mit den Optionen initialisiert, was eine Warnung für einen potenziellen memcpy-Pufferüberlauf auslöst, da der Compiler abschätzt, dass die Optionen nicht in die Struktur passen würden, obwohl der Speicher dafür tatsächlich allokiert wurde.
memcpy: Pufferüberlauf erkannt: 104-Byte-Schreibzugriff auf einen Puffer mit einer Größe von 96 Bytes WARNING: CPU: X PID: Y at lib/string_helpers.c:1036 __fortify_report skb_tunnel_info_unclone+0x179/0x190 geneve_xmit+0x7fe/0xe00
Das Problem tritt auf, wenn der Code mit Clang und Source Fortification (Quellcode-Abwehrmaßnahmen) erstellt wird.
Die Behebung erfolgt durch eine zweistufige Kopierung: Zuerst die Hauptdaten zusammen mit options_len, anschließend die Optionen. Auf diese Weise sollte zur Zeit des Kopiervorgangs die korrekte Länge bekannt sein.
Es wäre vorzuziehen, wenn sich options_len nach der Allokation nie ändern würde, doch der Allokationscode ist etwas von der Initialisierung getrennt, und es wäre ungeschickt und potenziell gefährlich, eine Struktur mit einem auf einen Nicht-Null-Wert gesetzten options_len aus metadata_dst_alloc() zurückzugeben.
Eine weitere Option wäre die Verwendung von ip_tunnel_info_opts_set(), doch führt diese für den hier vorliegenden Anwendungsfall zu vielen unnötigen Operationen.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.