CVE-2026-74582 in Linux
Zusammenfassung
von VulDB • 21.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
packet: Konsistente Verwendung von hard_header_len in Sendepfaden ohne Ringpuffer
packet_snd() liest dev->hard_header_len mehrfach aus, während ein skb allokiert und aufgebaut wird. Die Neukonfiguration des Geräts kann diesen Wert gleichzeitig ändern, beispielsweise durch Änderungen der Art eines Bonding-Geräts.
Für SOCK_RAW kann packet_snd() einen größeren Wert in reserve speichern und später headroom mit einem kleineren Wert allokieren. Das Zurückverschieben von skb->data um den Betrag von reserve platziert ihn vor skb->head, und der folgende Kopiervorgang aus dem Userspace kann versuchen, außerhalb des Puffers zu schreiben (Out-of-Bounds-Write).
packet_sendmsg_spkt() weist das gleiche Problem auf, da es seine Reservierung und Header-Versatzwerte aus separaten Lesevorgängen berechnet, bevor die RCU-Lesesperre freigegeben wird, um den skb zu allokieren.
Fügen Sie LL_RESERVED_SPACE_EX() für Aufrufer hinzu, die bereits eine Header-Länge gespeichert haben. Lesen Sie hard_header_len einmal in packet_snd() und verwenden Sie diesen Wert sowohl für die Allokation als auch für den Aufbau. Bewahren Sie in packet_sendmsg_spkt() den zum Zeitpunkt der Allokation ermittelten Wert während des erneuten Suchvorgangs nach dem Gerät bei.
Das separate Konsistenzproblem zwischen hard_header_len und header_ops->create im Kontext von SOCK_DGRAM wird hier nicht behandelt.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.