CVE-2026-22988: arp: do not assume dev_hard_header() does not change skb->head
In the Linux kernel, the following vulnerability has been resolved:
arp: do not assume dev_hard_header() does not change skb->head
arp_create() is the only dev_hard_header() caller
making assumption about skb->head being unchanged.
A recent commit broke this assumption.
Initialize @arp pointer after dev_hard_header() call.
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel flaw in ARP packet creation. A low-privileged local user may be able to trigger memory corruption with severe confidentiality, integrity, and availability impact. The public bundle shows upstream stable fixes, but does not show active exploitation or distribution-specific package status.
Executive priority
Treat as high priority for Linux fleets, especially shared or multi-tenant systems. The issue is not shown as remotely exploitable, but the impact rating is severe once a low-privileged local attacker has code execution.
Technical view
arp_create() assumed dev_hard_header() would not change skb->head. The fix moves initialization of the ARP pointer until after dev_hard_header(), avoiding use of a pointer based on stale packet-buffer state. CVSS 3.1 is 7.8: local, low complexity, low privileges, no user interaction, high CIA impact.
Likely exposure
Exposure likely affects Linux systems running kernel builds that include the broken ARP behavior before the referenced stable fixes. Distribution package impact is not proven by the bundle; vulnerability managers should map vendor kernels to the upstream commits and fixed stable versions listed.
Exploitation context
The provided data does not cite KEV listing or active exploitation. The CVSS vector is local with low privileges, so risk is higher on shared servers, container hosts, developer workstations, and systems where untrusted users can execute code.
Researcher notes
The source bundle identifies a specific kernel ARP buffer-pointer assumption fixed by moving pointer initialization after dev_hard_header(). It does not provide a CWE, exploit details, affected distribution packages, or evidence of exploitation. Validate exposure through kernel commit ancestry and vendor backport metadata.
Mitigation direction
Apply Linux vendor kernel updates that include the referenced upstream stable fixes.
Reboot systems into the corrected kernel after patching.
Prioritize shared, multi-user, and container-host Linux systems.
If packages are unavailable, follow distribution guidance for backports or temporary controls.
Limit untrusted local shell access where patching is delayed.
Validation and detection
Inventory running Linux kernel versions across servers, VMs, and container hosts.
Map installed distro kernels to the referenced upstream stable commits.
Confirm systems booted into the patched kernel after updates.
Check vendor advisories for package names, backport status, and reboot requirements.
Monitor authoritative sources for any later exploitation reports.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-22988 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
0ADP providers
8Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.