CVE-2026-98554
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2026
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
vlan: ensure sufficient headroom in vlan_dev_hard_header()
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.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 | affected | git | 55e007fc3b4d76fa4d6b4660f6904fe6ab045a1b | Unavailable | None listed |
| 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 | affected | git | 5aca8e6a8ff6aeae358c1d9b65447aac416ace95 | Unavailable | None listed |
| 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 | affected | git | 4ba1f57313f36a3ce6f77d593548f0c511f34aa1 | Unavailable | None listed |
| 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 | affected | git | ca797491f0ae4bfde9039f79f6f1ed7781c9110f | Unavailable | None listed |
| 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 | affected | git | cfba0f45553de2b803059e3d539a1e418df24da8 | Unavailable | None listed |
| 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 | affected | git | c7ee4bea64f559ea8e03260014775b64c720cb5b | Unavailable | None listed |
| 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 | affected | git | 90d51095371d96747f45bbd8504edf6513e039ef | Unavailable | None listed |
| 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 | affected | git | cd5dd68267c4238795fadaf02b3575ca3f8a6500 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 2.6.12 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 2.6.12 | Unavailable | None listed |
| 5.10.271 | unaffected | semver | Unavailable | 5.10.* | None listed |
| 5.15.222 | unaffected | semver | Unavailable | 5.15.* | None listed |
| 6.1.189 | unaffected | semver | Unavailable | 6.1.* | None listed |
| 6.6.158 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.12.112 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.18.55 | unaffected | semver | Unavailable | 6.18.* | None listed |
| 7.2.9 | unaffected | semver | Unavailable | 7.2.* | None listed |
| 7.3 | unaffected | original_commit_for_fix | Unavailable | * | None listed |