Logo
-

Byte Open Security

(ByteOS Network)

Log In

Sign Up

ByteOS

Security
Vulnerability Details
Registries
Custom Views
Weaknesses
Attack Patterns
Filters & Tools
Vulnerability Details :

CVE-2026-53362

Summary
Assigner-Linux
Assigner Org ID-416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published At-04 Jul, 2026 | 11:56
Updated At-04 Jul, 2026 | 11:56
Rejected At-
Credits

ipv6: account for fraggap on the paged allocation path

In the Linux kernel, the following vulnerability has been resolved: ipv6: account for fraggap on the paged allocation path In __ip6_append_data(), when the paged-allocation branch is taken (MSG_MORE / NETIF_F_SG / large fraglen), alloclen and pagedlen are computed as alloclen = fragheaderlen + transhdrlen; pagedlen = datalen - transhdrlen; datalen already includes fraggap (datalen = length + fraggap). When fraggap is non-zero, this is not the first skb and transhdrlen is zero. The fraggap bytes carried over from the previous skb are copied just past the fragment headers in the new skb's linear area. The linear area is therefore undersized by fraggap bytes while pagedlen is overstated by the same amount, and the copy writes past skb->end into the trailing skb_shared_info. An unprivileged user can trigger this via a UDPv6 socket using MSG_MORE together with MSG_SPLICE_PAGES. The bad accounting was introduced by commit 773ba4fe9104 ("ipv6: avoid partial copy for zc"). Before commit ce650a166335 ("udp6: Fix __ip6_append_data()'s handling of MSG_SPLICE_PAGES"), the negative copy value caused -EINVAL to be returned. That later commit allowed MSG_SPLICE_PAGES to proceed in this case, making the corruption triggerable. The non-paged branch sets alloclen to fraglen, which already accounts for fraggap because datalen does. Bring the paged branch in line by adding fraggap to alloclen and subtracting it from pagedlen. After this adjustment, copy no longer collapses to -fraggap on the paged path, so remove the stale comment describing that old arithmetic. Since a negative copy is no longer expected for a valid MSG_SPLICE_PAGES case, remove the MSG_SPLICE_PAGES exception from the negative copy check.

Vendors
-
Not available
Products
-
Metrics (CVSS)
VersionBase scoreBase severityVector
Weaknesses
Attack Patterns
Solution/Workaround
References
HyperlinkResource Type
EPSS History
Score
Latest Score
-
N/A
No data available for selected date range
Percentile
Latest Percentile
-
N/A
No data available for selected date range
Stakeholder-Specific Vulnerability Categorization (SSVC)
▼Common Vulnerabilities and Exposures (CVE)
cve.org
Assigner:Linux
Assigner Org ID:416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published At:04 Jul, 2026 | 11:56
Updated At:04 Jul, 2026 | 11:56
Rejected At:
▼CVE Numbering Authority (CNA)
ipv6: account for fraggap on the paged allocation path

In the Linux kernel, the following vulnerability has been resolved: ipv6: account for fraggap on the paged allocation path In __ip6_append_data(), when the paged-allocation branch is taken (MSG_MORE / NETIF_F_SG / large fraglen), alloclen and pagedlen are computed as alloclen = fragheaderlen + transhdrlen; pagedlen = datalen - transhdrlen; datalen already includes fraggap (datalen = length + fraggap). When fraggap is non-zero, this is not the first skb and transhdrlen is zero. The fraggap bytes carried over from the previous skb are copied just past the fragment headers in the new skb's linear area. The linear area is therefore undersized by fraggap bytes while pagedlen is overstated by the same amount, and the copy writes past skb->end into the trailing skb_shared_info. An unprivileged user can trigger this via a UDPv6 socket using MSG_MORE together with MSG_SPLICE_PAGES. The bad accounting was introduced by commit 773ba4fe9104 ("ipv6: avoid partial copy for zc"). Before commit ce650a166335 ("udp6: Fix __ip6_append_data()'s handling of MSG_SPLICE_PAGES"), the negative copy value caused -EINVAL to be returned. That later commit allowed MSG_SPLICE_PAGES to proceed in this case, making the corruption triggerable. The non-paged branch sets alloclen to fraglen, which already accounts for fraggap because datalen does. Bring the paged branch in line by adding fraggap to alloclen and subtracting it from pagedlen. After this adjustment, copy no longer collapses to -fraggap on the paged path, so remove the stale comment describing that old arithmetic. Since a negative copy is no longer expected for a valid MSG_SPLICE_PAGES case, remove the MSG_SPLICE_PAGES exception from the negative copy check.

Affected Products
Vendor
Linux Kernel Organization, IncLinux
Product
Linux
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Program Files
  • net/ipv6/ip6_output.c
Default Status
unaffected
Versions
Affected
  • From 773ba4fe9104a64a54d1c00f0fb6ffb95def2b03 before 14200d435af9a9eeb444f529fc2f689a236b7962 (git)
  • From 773ba4fe9104a64a54d1c00f0fb6ffb95def2b03 before 65fb14cbebb0cd0eff903a22d33537ddc8b95769 (git)
  • From 773ba4fe9104a64a54d1c00f0fb6ffb95def2b03 before 46f201f8b4c39633a1fa3dc12459f506d470993d (git)
  • From 773ba4fe9104a64a54d1c00f0fb6ffb95def2b03 before 6374fb9edf72c67a118a2c214a0dddd04c921e0a (git)
  • From 773ba4fe9104a64a54d1c00f0fb6ffb95def2b03 before e9eacf19281ea2498b36291b56c9606118c2d74e (git)
  • From 773ba4fe9104a64a54d1c00f0fb6ffb95def2b03 before 736b380e28d0480c7bc3e022f1950f31fe53a7c5 (git)
Vendor
Linux Kernel Organization, IncLinux
Product
Linux
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Program Files
  • net/ipv6/ip6_output.c
Default Status
affected
Versions
Affected
  • 6.0
Unaffected
  • From 0 before 6.0 (semver)
  • From 6.1.177 through 6.1.* (semver)
  • From 6.6.144 through 6.6.* (semver)
  • From 6.12.95 through 6.12.* (semver)
  • From 6.18.38 through 6.18.* (semver)
  • From 7.1.3 through 7.1.* (semver)
  • From 7.2-rc1 through * (original_commit_for_fix)
Metrics
VersionBase scoreBase severityVector
Metrics Other Info
Impacts
CAPEC IDDescription
Solutions

Configurations

Workarounds

Exploits

Credits

Timeline
EventDate
Replaced By

Rejected Reason

References
HyperlinkResource
https://git.kernel.org/stable/c/14200d435af9a9eeb444f529fc2f689a236b7962
N/A
https://git.kernel.org/stable/c/65fb14cbebb0cd0eff903a22d33537ddc8b95769
N/A
https://git.kernel.org/stable/c/46f201f8b4c39633a1fa3dc12459f506d470993d
N/A
https://git.kernel.org/stable/c/6374fb9edf72c67a118a2c214a0dddd04c921e0a
N/A
https://git.kernel.org/stable/c/e9eacf19281ea2498b36291b56c9606118c2d74e
N/A
https://git.kernel.org/stable/c/736b380e28d0480c7bc3e022f1950f31fe53a7c5
N/A
Hyperlink: https://git.kernel.org/stable/c/14200d435af9a9eeb444f529fc2f689a236b7962
Resource: N/A
Hyperlink: https://git.kernel.org/stable/c/65fb14cbebb0cd0eff903a22d33537ddc8b95769
Resource: N/A
Hyperlink: https://git.kernel.org/stable/c/46f201f8b4c39633a1fa3dc12459f506d470993d
Resource: N/A
Hyperlink: https://git.kernel.org/stable/c/6374fb9edf72c67a118a2c214a0dddd04c921e0a
Resource: N/A
Hyperlink: https://git.kernel.org/stable/c/e9eacf19281ea2498b36291b56c9606118c2d74e
Resource: N/A
Hyperlink: https://git.kernel.org/stable/c/736b380e28d0480c7bc3e022f1950f31fe53a7c5
Resource: N/A
Information is not available yet
▼National Vulnerability Database (NVD)
nvd.nist.gov
Source:416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published At:04 Jul, 2026 | 12:17
Updated At:04 Jul, 2026 | 12:17

In the Linux kernel, the following vulnerability has been resolved: ipv6: account for fraggap on the paged allocation path In __ip6_append_data(), when the paged-allocation branch is taken (MSG_MORE / NETIF_F_SG / large fraglen), alloclen and pagedlen are computed as alloclen = fragheaderlen + transhdrlen; pagedlen = datalen - transhdrlen; datalen already includes fraggap (datalen = length + fraggap). When fraggap is non-zero, this is not the first skb and transhdrlen is zero. The fraggap bytes carried over from the previous skb are copied just past the fragment headers in the new skb's linear area. The linear area is therefore undersized by fraggap bytes while pagedlen is overstated by the same amount, and the copy writes past skb->end into the trailing skb_shared_info. An unprivileged user can trigger this via a UDPv6 socket using MSG_MORE together with MSG_SPLICE_PAGES. The bad accounting was introduced by commit 773ba4fe9104 ("ipv6: avoid partial copy for zc"). Before commit ce650a166335 ("udp6: Fix __ip6_append_data()'s handling of MSG_SPLICE_PAGES"), the negative copy value caused -EINVAL to be returned. That later commit allowed MSG_SPLICE_PAGES to proceed in this case, making the corruption triggerable. The non-paged branch sets alloclen to fraglen, which already accounts for fraggap because datalen does. Bring the paged branch in line by adding fraggap to alloclen and subtracting it from pagedlen. After this adjustment, copy no longer collapses to -fraggap on the paged path, so remove the stale comment describing that old arithmetic. Since a negative copy is no longer expected for a valid MSG_SPLICE_PAGES case, remove the MSG_SPLICE_PAGES exception from the negative copy check.

CISA Catalog
Date AddedDue DateVulnerability NameRequired Action
N/A
Date Added: N/A
Due Date: N/A
Vulnerability Name: N/A
Required Action: N/A
Metrics
TypeVersionBase scoreBase severityVector
CPE Matches

Evaluator Description

Evaluator Impact

Evaluator Solution

Vendor Statements

References
HyperlinkSourceResource
https://git.kernel.org/stable/c/14200d435af9a9eeb444f529fc2f689a236b7962416baaa9-dc9f-4396-8d5f-8c081fb06d67
N/A
https://git.kernel.org/stable/c/46f201f8b4c39633a1fa3dc12459f506d470993d416baaa9-dc9f-4396-8d5f-8c081fb06d67
N/A
https://git.kernel.org/stable/c/6374fb9edf72c67a118a2c214a0dddd04c921e0a416baaa9-dc9f-4396-8d5f-8c081fb06d67
N/A
https://git.kernel.org/stable/c/65fb14cbebb0cd0eff903a22d33537ddc8b95769416baaa9-dc9f-4396-8d5f-8c081fb06d67
N/A
https://git.kernel.org/stable/c/736b380e28d0480c7bc3e022f1950f31fe53a7c5416baaa9-dc9f-4396-8d5f-8c081fb06d67
N/A
https://git.kernel.org/stable/c/e9eacf19281ea2498b36291b56c9606118c2d74e416baaa9-dc9f-4396-8d5f-8c081fb06d67
N/A
Hyperlink: https://git.kernel.org/stable/c/14200d435af9a9eeb444f529fc2f689a236b7962
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Resource: N/A
Hyperlink: https://git.kernel.org/stable/c/46f201f8b4c39633a1fa3dc12459f506d470993d
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Resource: N/A
Hyperlink: https://git.kernel.org/stable/c/6374fb9edf72c67a118a2c214a0dddd04c921e0a
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Resource: N/A
Hyperlink: https://git.kernel.org/stable/c/65fb14cbebb0cd0eff903a22d33537ddc8b95769
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Resource: N/A
Hyperlink: https://git.kernel.org/stable/c/736b380e28d0480c7bc3e022f1950f31fe53a7c5
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Resource: N/A
Hyperlink: https://git.kernel.org/stable/c/e9eacf19281ea2498b36291b56c9606118c2d74e
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Resource: N/A

Change History

0
Information is not available yet

Similar CVEs

0Records found

Details not found