CVE-2026-53366

Summary

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

ipv4: account for fraggap on the paged allocation path

In __ip_append_data(), when the paged-allocation branch is taken, alloclen and pagedlen are computed as

alloclen = fragheaderlen + transhdrlen;
pagedlen = datalen - transhdrlen;

datalen already includes fraggap, but the fraggap bytes carried over from the previous skb are copied into the new skb's linear area at offset transhdrlen by the subsequent skb_copy_and_csum_bits(). The linear area is therefore undersized by fraggap bytes while pagedlen is overstated by the same amount.

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux8eb77cc73977d88787b37c92831b1c242e035396 < ce494707a9c07f27c219ca67f3e138061f53d9b3affected
LinuxLinux8eb77cc73977d88787b37c92831b1c242e035396 < a9c24eda24bd15f432e37824e6fc440977cb241caffected
LinuxLinux8eb77cc73977d88787b37c92831b1c242e035396 < 77798d7be6ef71e72fb6fc8a2901bf74ebc9706faffected
LinuxLinux8eb77cc73977d88787b37c92831b1c242e035396 < c04d9ece23deb9e26c19f9ca215e98b3295aa1bbaffected
LinuxLinux8eb77cc73977d88787b37c92831b1c242e035396 < eca856950f7cb1a221e02b99d758409f2c5cec42affected
LinuxLinux6.0affected
LinuxLinux0 < 6.0unaffected
LinuxLinux6.6.144 <= 6.6.*unaffected
LinuxLinux6.12.95 <= 6.12.*unaffected
LinuxLinux6.18.38 <= 6.18.*unaffected
LinuxLinux7.1.3 <= 7.1.*unaffected
LinuxLinux7.2-rc1 <= *unaffected

Weaknesses

References