Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 05d19bf500f8281f574713479b04679fa226d0a3 before 7c2fe308bda5a7e6222d7f0c3c311991372baab4; affected 05d19bf500f8281f574713479b04679fa226d0a3 before fba45070e25abdae08bcaebfadeef050dc39e208; affected 05d19bf500f8281f574713479b04679fa226d0a3 before e1b0609b1a40da03e385be290853a604eb4c3fb9; affected 05d19bf500f8281f574713479b04679fa226d0a3 before 9dbf13de4edff6fbc1f7ad9c4040326b6ed599ad; affected 05d19bf500f8281f574713479b04679fa226d0a3 before d28aa2de9654e8024922775520a2665e00c04ad5; affected 05d19bf500f8281f574713479b04679fa226d0a3 before c7ead9704249d57d4693a04697e3bbd285138fa9 |
| Linux / Linux | affected 5.19; unaffected 0 before 5.19; unaffected 6.1.189 through 6.1.*; unaffected 6.6.158 through 6.6.*; unaffected 6.12.112 through 6.12.*; unaffected 6.18.54 through 6.18.*; unaffected 7.2.8 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
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