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

seg6: ensure packet data is writable before modifying SRH and IPv6 DA

advance_nextseg() modifies the SRH Segments Left field and the IPv6
destination address without ensuring the packet data is writable.
seg6_next_csid_advance_arg() has the same problem when it advances the
NEXT-C-SID argument in the destination address.

The skb may be cloned, for example by an AF_PACKET socket receiving on
the ingress device. advance_nextseg() and seg6_next_csid_advance_arg()
then write into the packet data shared with the clone. A read from that
socket can return the modified packet instead of the received one. The
simplified path below shows this for advance_nextseg():

__netif_receive_skb_one_core
__netif_receive_skb_core
deliver_skb [orig: users=2, cloned=0]
packet_rcv
skb_clone clone queued to the AF_PACKET socket
consume_skb(orig) [orig: users=1, cloned=1]
ipv6_rcv
ip6_rcv_core skb_share_check: no-op [orig: users=1]
[...]
input_action_end_core
advance_nextseg writes into the data shared with the clone

Call skb_ensure_writable() in advance_nextseg() and in
seg6_next_csid_advance_arg() before they modify the packet data.
skb_ensure_writable() may reallocate skb->head, which invalidates the
pointers into the packet data taken before the call.
advance_nextseg() now returns a valid SRH pointer, or NULL if
skb_ensure_writable() fails.
seg6_next_csid_advance_arg() takes the pointer to the destination
address from the skb after skb_ensure_writable().
On failure, the callers drop the packet with SKB_DROP_REASON_NOMEM.
Published: 2026-10-18
Score: 3.7 Low
EPSS: < 1% Very Low
KEV: No
Impact: Data Integrity Compromise
Action: Apply Patch
AI Analysis

Impact

The Linux kernel incorrectly modifies the Segment Routing Header and destination address of IPv6 packets without first ensuring that the packet data can be safely written. This can cause the kernel to write into packet data that may be shared with a clone, such as one created for an AF_PACKET socket. An attacker can craft a packet that triggers this behavior, resulting in the cloned socket receiving a modified packet instead of the original. The flaw does not directly allow arbitrary code execution but does allow an attacker to tamper with packet contents and potentially to leak or alter data seen by local applications.

Affected Systems

Any Linux kernel that has not yet applied the fix for the seg6 packet handling bug is vulnerable. The issue is present in the core kernel network stack and therefore affects all distributions that ship a kernel built with the default IPv6 implementation. No specific distribution version is listed, so the vulnerability applies broadly to all currently running kernels until the patch is deployed.

Risk and Exploitability

The CVSS score is 3.7 and the EPSS score is less than 1%, indicating a low to moderate severity and very low exploitation probability; it is not listed in the CISA KEV catalog. When a packet is received, advance_nextseg may write into data that is shared with a clone, allowing a crafted packet to modify what a local AF_PACKET socket sees. Based on the description, the likely attack vector is a local user able to send packets to an AF_PACKET interface or a network actor able to inject IPv6 traffic into a local network. No publicly available exploit is known, so exploitation would probably require precision packet crafting, which raises the difficulty level. Nonetheless, the kernel's ability to modify packet content means that any attacker who can trigger the flaw could manipulate information delivered to local processes. The absence of a published exploit suggests that while the risk is real, the likelihood of immediate exploitation is moderate.

Generated by OpenCVE AI on October 24, 2026 at 03:28 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that includes the seg6 packet handling fix
  • If an immediate kernel upgrade is not possible, restrict inbound IPv6 traffic or remove the affected IPv6 interfaces to reduce exposure
  • Monitor system logs and network traffic for anomalous packet modifications that could indicate an attempt to exploit the flaw

Generated by OpenCVE AI on October 24, 2026 at 03:28 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 24 Oct 2026 02:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-787

Sat, 24 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-820
References
Metrics threat_severity

None

cvssV3_1

{'score': 3.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N'}

threat_severity

Low


Sun, 18 Oct 2026 22:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-787

Sun, 18 Oct 2026 16:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: seg6: ensure packet data is writable before modifying SRH and IPv6 DA advance_nextseg() modifies the SRH Segments Left field and the IPv6 destination address without ensuring the packet data is writable. seg6_next_csid_advance_arg() has the same problem when it advances the NEXT-C-SID argument in the destination address. The skb may be cloned, for example by an AF_PACKET socket receiving on the ingress device. advance_nextseg() and seg6_next_csid_advance_arg() then write into the packet data shared with the clone. A read from that socket can return the modified packet instead of the received one. The simplified path below shows this for advance_nextseg(): __netif_receive_skb_one_core __netif_receive_skb_core deliver_skb [orig: users=2, cloned=0] packet_rcv skb_clone clone queued to the AF_PACKET socket consume_skb(orig) [orig: users=1, cloned=1] ipv6_rcv ip6_rcv_core skb_share_check: no-op [orig: users=1] [...] input_action_end_core advance_nextseg writes into the data shared with the clone Call skb_ensure_writable() in advance_nextseg() and in seg6_next_csid_advance_arg() before they modify the packet data. skb_ensure_writable() may reallocate skb->head, which invalidates the pointers into the packet data taken before the call. advance_nextseg() now returns a valid SRH pointer, or NULL if skb_ensure_writable() fails. seg6_next_csid_advance_arg() takes the pointer to the destination address from the skb after skb_ensure_writable(). On failure, the callers drop the packet with SKB_DROP_REASON_NOMEM.
Title seg6: ensure packet data is writable before modifying SRH and IPv6 DA
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-19T09:25:55.677Z

Reserved: 2026-09-25T10:25:14.371Z

Link: CVE-2026-98802

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:17:34.250

Modified: 2026-10-19T10:19:44.260

Link: CVE-2026-98802

cve-icon Redhat

Severity : Low

Publid Date: 2026-10-18T00:00:00Z

Links: CVE-2026-98802 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-24T03:30:15Z

Weaknesses