CVE-2026-98554
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.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
1Patches
Vulnerability mechanics
References
8- git.kernel.org/stable/c/4ba1f57313f36a3ce6f77d593548f0c511f34aa1nvd
- git.kernel.org/stable/c/55e007fc3b4d76fa4d6b4660f6904fe6ab045a1bnvd
- git.kernel.org/stable/c/5aca8e6a8ff6aeae358c1d9b65447aac416ace95nvd
- git.kernel.org/stable/c/90d51095371d96747f45bbd8504edf6513e039efnvd
- git.kernel.org/stable/c/c7ee4bea64f559ea8e03260014775b64c720cb5bnvd
- git.kernel.org/stable/c/ca797491f0ae4bfde9039f79f6f1ed7781c9110fnvd
- git.kernel.org/stable/c/cd5dd68267c4238795fadaf02b3575ca3f8a6500nvd
- git.kernel.org/stable/c/cfba0f45553de2b803059e3d539a1e418df24da8nvd
News mentions
0No linked articles in our index yet.