CVE-2026-72157

net: thunderbolt: Fix frags[] overflow by bounding frame_count

State
Published
Severity
8.8 High
Published
Aug 15, 2026
Updated
Oct 16, 2026
Reserved
Aug 9, 2026

Read the record on cve.org

Description

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

net: thunderbolt: Fix frags[] overflow by bounding frame_count

tbnet_poll() assembles a multi-frame ThunderboltIP packet into one skb. The first frame goes into the skb linear area and every further frame is added as a page fragment.

skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, page, hdr_size, frame_size, TBNET_RX_PAGE_SIZE - hdr_size);

A packet of frame_count frames therefore ends up with frame_count - 1 fragments. tbnet_check_frame() only bounds the peer supplied frame_count to TBNET_RING_SIZE / 4 (64), which is far above MAX_SKB_FRAGS (17 by default). A peer that sends a packet of 19 or more small frames pushes nr_frags past MAX_SKB_FRAGS, so skb_add_rx_frag() writes past skb_shinfo()->frags[] and corrupts memory after the shared info.

Tighten the start of packet bound to MAX_SKB_FRAGS + 1 so a packet can never produce more fragments than frags[] can hold. This matches the recent skb frags overflow fixes in other receive paths, for example f0813bcd2d9d ("net: wwan: t7xx: fix potential skb->frags overflow in RX path") and 600dc40554dc ("net: usb: cdc-phonet: fix skb frags[] overflow in rx_complete()").

Scores

CVSSScoreVectorSource
3.18.8 HighCVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • e69b6c02b4c3b8d03be7136f90dd9551ad5a5a5e to before f96b3b35c622d565eff2438993e028d280163f5cAffected
  • e69b6c02b4c3b8d03be7136f90dd9551ad5a5a5e to before 6262f51e09d8dc8b07599a9e4f03bd3989d13fffAffected
  • e69b6c02b4c3b8d03be7136f90dd9551ad5a5a5e to before 569ba39b2d12995a29dc158e5b4de6e449278f30Affected
  • e69b6c02b4c3b8d03be7136f90dd9551ad5a5a5e to before 2b3b4e5ff5a58ad32817824b0310e63908b12052Affected
  • e69b6c02b4c3b8d03be7136f90dd9551ad5a5a5e to before e27beb4536cbf1d59e2d8c2840e87d972aba906fAffected
  • e69b6c02b4c3b8d03be7136f90dd9551ad5a5a5e to before e5824d5b841d99a2bcdd4e2c256643293bbc22c1Affected
  • e69b6c02b4c3b8d03be7136f90dd9551ad5a5a5e to before fe6b606fbf0c3beb94ccf17fcf31d8c2138264e3Affected
  • e69b6c02b4c3b8d03be7136f90dd9551ad5a5a5e to before 55d9895f89970501fe126d1026b586b04a224c27Affected
LinuxLinux
  • 4.15Affected
  • before 4.15Not affected
  • 5.10.266 through 5.10.*Not affected
  • 5.15.217 through 5.15.*Not affected
  • 6.1.184 through 6.1.*Not affected
  • 6.6.145 through 6.6.*Not affected
  • 6.12.97 through 6.12.*Not affected
  • 6.18.40 through 6.18.*Not affected
  • 7.1.5 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.