Linux Kernel bis 7.1.12/7.2.2 AF_PACKET net/packet/af_packet.c tpacket_destruct_skb Race Condition

| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 9.5 | $0-$5k | 0.41 |
Zusammenfassung
Eine sehr kritische Schwachstelle wurde in Linux Kernel bis 7.1.12/7.2.2 entdeckt. Es ist betroffen die Funktion tpacket_destruct_skb der Datei net/packet/af_packet.c der Komponente AF_PACKET. Mittels Manipulieren mit unbekannten Daten kann eine Race Condition-Schwachstelle ausgenutzt werden.
Die Verwundbarkeit wird unter CVE-2026-80841 geführt. Es ist möglich, den Angriff aus der Ferne durchzuführen. Es ist soweit kein Exploit verfügbar.
Details
Es wurde eine Schwachstelle in Linux Kernel bis 7.1.12/7.2.2 ausgemacht. Sie wurde als sehr kritisch eingestuft. Betroffen hiervon ist die Funktion tpacket_destruct_skb der Datei net/packet/af_packet.c der Komponente AF_PACKET. Dank Manipulation mit einer unbekannten Eingabe kann eine Race Condition-Schwachstelle ausgenutzt werden. Im Rahmen von CWE wurde eine Klassifizierung als CWE-362 vorgenommen. Auswirkungen hat dies auf Vertraulichkeit, Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:
In the Linux kernel, the following vulnerability has been resolved:
net/packet: defer vmalloc TX_RING free until skbs finish
AF_PACKET TX_RING skbs keep a raw pointer to their ring frame. The skb
page references preserve page-backed ring blocks after pg_vec is freed,
but they do not preserve a vmalloc mapping.
tpacket_destruct_skb() currently drops the pending reference before
writing the timestamp and TP_STATUS_AVAILABLE to the frame. Move the
decrement after those stores. The smp_wmb() in __packet_set_status()
orders the frame stores before the decrement.
Also recheck pending TX frames under pg_vec_lock before non-closing
ring replacement, so a racing send cannot add a pending skb between
the initial check and the ring swap.
Ring allocation can produce a mixture of page-backed and vmalloc-backed
blocks. Allocate deferred-work storage during TX ring setup when the
first vmalloc-backed block is encountered, and keep its pointer in the
pg_vec allocation header. If allocation fails, return -ENOMEM from ring
setup. On socket close, a non-NULL pointer identifies a vmalloc-backed
vector without a scan. If TX skbs remain, defer the whole vector to
system_long_wq.
After pg_vec is detached, a late destructor can skip the pending
decrement. Use socket write-memory accounting as the deferred lifetime
gate instead: an skb remains charged through its final sock_wfree(),
after all ring-frame accesses. The delayed work retains a socket
reference and reschedules itself until no TX skbs remain.
Move pending_refcnt release to packet_sock_destruct() so late skb
destructors and deferred cleanup can safely use it after
packet_release(). Page-backed teardown remains synchronous, and no lock
is added to the TX completion hot path.Bereitgestellt wird das Advisory unter git.kernel.org. Die Identifikation der Schwachstelle wird seit dem 26.08.2026 mit CVE-2026-80841 vorgenommen. Die Ausnutzbarkeit gilt als leicht. Der Angriff kann über das Netzwerk erfolgen. Es sind zwar technische Details, jedoch kein verfügbarer Exploit zur Schwachstelle bekannt. Ein Exploit zur Schwachstelle wird momentan etwa USD $0-$5k kosten (Preisberechnung vom 04.09.2026).
Ein Aktualisieren auf die Version 7.1.13, 7.2.3 oder 7.3-rc1 vermag dieses Problem zu lösen. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 0189dce07db2dc059ae0570e06758ec4233c6e11/550d00aa58193fb649a09a9c9e338c685adad784/992cc9f94ca924089a506ba9b327caa9af797529 lösen.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.
Produkt
Typ
Hersteller
Name
Version
Lizenz
Webseite
- Hersteller: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 9.9VulDB Meta Temp Score: 9.5
VulDB Base Score: 9.9
VulDB Temp Score: 9.5
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
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: Race ConditionCWE: CWE-362
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Nein
Lokal: Nein
Remote: Ja
Verfügbarkeit: 🔒
Status: Nicht definiert
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Kernel 7.1.13/7.2.3/7.3-rc1
Patch: 0189dce07db2dc059ae0570e06758ec4233c6e11/550d00aa58193fb649a09a9c9e338c685adad784/992cc9f94ca924089a506ba9b327caa9af797529
Timeline
26.08.2026 CVE zugewiesen04.09.2026 Advisory veröffentlicht
04.09.2026 VulDB Eintrag erstellt
04.09.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Hersteller: kernel.orgAdvisory: git.kernel.org
Status: Bestätigt
CVE: CVE-2026-80841 (🔒)
GCVE (CVE): GCVE-0-2026-80841
GCVE (VulDB): GCVE-100-398949
Eintrag
Erstellt: 04.09.2026 18:29Anpassungen: 04.09.2026 18:29 (22), 04.09.2026 18:30 (38)
Komplett: 🔍
Cache ID: 216::103
If you want to get the best quality for vulnerability data then you always have to consider VulDB.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.