CVE-2026-74666 in Linux
Zusammenfassung
von VulDB • 22.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
packet: Synchronisierung der Druckbereinigung mit der Ring-Neukonfiguration
packet_set_ring() aktualisiert den RX-Ring-Zustand unter sk_receive_queue.lock, veröffentlichte jedoch zuvor den tpacket-Empfangsmodus über po->prot_hook.func nach dem Lösen dieses Locks. packet_poll() und packet_recvmsg() können dann die Druckbereinigungspfade ausführen, nachdem der Ring bereits gelöscht wurde, sehen dabei aber weiterhin tpacket_rcv, was dazu führt, dass __packet_rcv_has_room() auf veraltete oder NULL-Ring-Speicher dereferenziert.
Verschieben Sie die bestehende Zuweisung des Empfangshooks in denselben sk_receive_queue.lock-Block wie das Ring-Zustandsupdate. Behalten Sie die Zuweisung ansonsten unverändert, auch bei der TX-Ring-Neukonfiguration, um Verhaltensänderungen zu vermeiden, die für die Korrektur nicht erforderlich sind.
Serialisieren Sie die Druckbereinigung von packet_recvmsg() mit demselben Queue-Lock erst nach Beobachtung von PACKET_SOCK_PRESSURE. Wenn das Flag gelöscht ist und sich der Socket bereits von tpacket_rcv entfernt hat, hat packet_set_ring() den Socket bereits getrennt und auf synchronize_net() gewartet, sodass kein neuer Paket-Eingang das Flag erneut setzen kann.
packet_poll() hält sk_receive_queue.lock bereits, daher verwendet es direkt die neue entsperrte Hilfsfunktion.
If you want to get best quality of vulnerability data, you may have to visit VulDB.