Description
In the Linux kernel, the following vulnerability has been resolved: net: wwan: t7xx: validate the netif index in t7xx_ccmni_recv_skb() The netif index carried in the DPMAIF PIT header is five bits wide, but ccmni_inst[] only has room for NIC_DEV_MAX (21) entries. t7xx_ccmni_recv_skb() indexes the array without a bounds check, so indexes 21 to 31 read past it. The out-of-bounds value lands in the callback table that follows the array, which is never NULL, so the existing !ccmni check does not catch it and the driver dereferences whatever sits there as a struct t7xx_ccmni. Drop the skb when the index is out of range. Verified in a QEMU guest with a fault injector setting the netif index to 25: the unpatched driver reads a value past ccmni_inst[], which lands in the callback table, and dereferences it far enough to queue the skb. With this check the packet is dropped. Well-formed traffic on index 0 is unaffected. Changes in v2: none.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
05d19bf500f8281f574713479b04679fa226d0a3 to < 7c2fe308bda5a7e6222d7f0c3c311991372baab4affected05d19bf500f8281f574713479b04679fa226d0a3 to < fba45070e25abdae08bcaebfadeef050dc39e208affected05d19bf500f8281f574713479b04679fa226d0a3 to < e1b0609b1a40da03e385be290853a604eb4c3fb9affected05d19bf500f8281f574713479b04679fa226d0a3 to < 9dbf13de4edff6fbc1f7ad9c4040326b6ed599adaffected05d19bf500f8281f574713479b04679fa226d0a3 to < d28aa2de9654e8024922775520a2665e00c04ad5affected05d19bf500f8281f574713479b04679fa226d0a3 to < c7ead9704249d57d4693a04697e3bbd285138fa9affected
Linux Linux
Default version status: affected
5.19affected0 to < 5.19unaffected6.1.189 to ≤ 6.1.*unaffected6.6.158 to ≤ 6.6.*unaffected6.12.112 to ≤ 6.12.*unaffected6.18.54 to ≤ 6.18.*unaffected7.2.8 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/7c2fe308bda5a7e6222d7f0c3c311991372baab4 ↗
- https://git.kernel.org/stable/c/fba45070e25abdae08bcaebfadeef050dc39e208 ↗
- https://git.kernel.org/stable/c/e1b0609b1a40da03e385be290853a604eb4c3fb9 ↗
- https://git.kernel.org/stable/c/9dbf13de4edff6fbc1f7ad9c4040326b6ed599ad ↗
- https://git.kernel.org/stable/c/d28aa2de9654e8024922775520a2665e00c04ad5 ↗
- https://git.kernel.org/stable/c/c7ead9704249d57d4693a04697e3bbd285138fa9 ↗