---
id: CVE-2026-74668
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  packet: use consistent hard_header_len in TX_RING send path

  tpacket_snd() reads dev->hard_header_len independently for skb
  allocation and header construction in tpacke…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  packet: use consistent hard_header_len in TX_RING send path

  tpacket_snd() reads dev->hard_header_len independently for skb
  allocation and header construction in tpacke…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
published: '2026-08-22'
updated: '2026-10-14'
sourceUpdated: '2026-10-14T13:10:00.187'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-74668'
references:
  - url: 'https://git.kernel.org/stable/c/016763e829cac37b3234eace86fd0a4c560de4a7'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/21b5953e7494c16a42e6cd8cf110e18d13ae4a6b'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/27e068d1b35dbec10a3cf268887c94407be4badc'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/2a73b2c37ee3060a880b53cd24783d93fc7be5f8'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/9c7e8ff48c377bef18c3d178748aea0575b69ede'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/d48ea5c9c4c34dc0df621f0e39ed3a16b644621a'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/d85d2fd54e901637c81d847811e03c662aee13cd'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/e79f59a8527a49078cfaf8fe8fb5fcefc20c76d2'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
epss: 0.00129
epssPercentile: 0.02239
ingestedAt: '2026-10-14T13:30:58.532Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

packet: use consistent hard_header_len in TX_RING send path

tpacket_snd() reads dev->hard_header_len independently for skb
allocation and header construction in tpacket_fill_skb(). Concurrent
netdevice reconfiguration can therefore make the reserved headroom
smaller than the amount later pushed, or make copylen - hard_header_len
negative.

Snapshot hard_header_len once before processing ring frames and use it
for the frame limit, headroom allocation, copy length, and skb
construction. Pass the snapshot to tpacket_fill_skb().

The separate SOCK_DGRAM consistency problem between hard_header_len and
header_ops->create is not addressed here.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
