# CVE-2026-74666: packet: synchronize pressure clearing with ring reconfiguration

> A race condition in the Linux kernel packet socket implementation can cause a null pointer dereference, leading to a denial of service.

- **Severity:** High 7.8 (`CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Local or same network only
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 22 Aug 2026
- **Updated:** 16 Oct 2026
- **Also known as:** AZL-97343, BELL-CVE-2026-74666, DEBIAN-CVE-2026-74666, GHSA-qv67-9r8f-5pqx, UBUNTU-CVE-2026-74666

## What is CVE-2026-74666?

CVE-2026-74666 is a high-severity vulnerability in Linux, published on 22 Aug 2026. It can only be exploited from the same machine or local network, with no action from the victim.

### Official description

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

packet: synchronize pressure clearing with ring reconfiguration

packet_set_ring() updates the RX ring state under sk_receive_queue.lock,
but used to publish the tpacket receive mode through po->prot_hook.func
after releasing that lock. packet_poll() and packet_recvmsg() can then
run the pressure clearing path after the ring has been cleared while
still seeing tpacket_rcv, causing __packet_rcv_has_room() to dereference
stale or NULL ring storage.

Move the existing receive hook assignment into the same
sk_receive_queue.lock section as the ring state update. Keep the
assignment otherwise unchanged, including on TX ring reconfiguration, to
avoid adding behavior changes that are not required for the fix.

Serialize packet_recvmsg() pressure clearing with the same queue lock
only after PACKET_SOCK_PRESSURE has been observed. If the flag is clear
and the socket has moved away from tpacket_rcv, packet_set_ring() has
already detached the socket and waited for synchronize_net(), so no new
packet input can set the flag again.

packet_poll() already holds sk_receive_queue.lock, so it uses the new
unlocked helper directly.

## Which versions are affected by CVE-2026-74666?


## How do I fix CVE-2026-74666?

Apply the vendor's patch.

## Is CVE-2026-74666 being exploited?

There is no known exploitation of CVE-2026-74666 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-74666 and fix it if it is affected.

What it is: CVE-2026-74666 is a high-severity vulnerability in Linux, published on 22 Aug 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-74666 in the wild and no public exploit code.

Affected product: Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-74666/ (Markdown: https://insights.sbomify.com/CVE-2026-74666/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-74666
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-74666
- OSV: https://osv.dev/vulnerability/CVE-2026-74666

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-74666/
Summaries are generated and may contain mistakes; the official description above is the record.
