Description
In the Linux kernel, the following vulnerability has been resolved: net: wwan: t7xx: validate port_count against message length in t7xx_port_enum_msg_handler t7xx_port_enum_msg_handler() uses the modem-supplied port_count field as a loop bound over port_msg->data[] without checking that the message buffer contains sufficient data. A modem sending port_count=65535 in a 12-byte buffer triggers a slab-out-of-bounds read of up to 262140 bytes. Add a sizeof(*port_msg) check before accessing the port message header fields to guard against undersized messages. Add a struct_size() check after extracting port_count and before the loop. In t7xx_parse_host_rt_data(), guard the rt_feature header read with a remaining-buffer check before accessing data_len, validate feat_data_len against the actual remaining buffer to prevent OOB reads and signed integer overflow on offset. Pass msg_len from both call sites: skb->len at the DPMAIF path after skb_pull(), and the validated feat_data_len at the handshake path.
Product status
da45d2566a1d4e260b894ff5d96be64b21c7fa79 (git) before f94450ce5053b36002995b72d1fa1db3bb08c5bf
da45d2566a1d4e260b894ff5d96be64b21c7fa79 (git) before 9855e063e063158cc5bded576382599dc3133202
da45d2566a1d4e260b894ff5d96be64b21c7fa79 (git) before 2b56d7903ab804481f5233a259d5f341e9fd513c
da45d2566a1d4e260b894ff5d96be64b21c7fa79 (git) before dd4f4c93c1488d7100b9964f2da4c8b3c29652f1
da45d2566a1d4e260b894ff5d96be64b21c7fa79 (git) before 0e7c074cfcd9bd93765505f9eb8b42f03ed2a744
5.19
Any version before 5.19
6.6.140 (semver)
6.12.88 (semver)
6.18.30 (semver)
7.0.7 (semver)
7.1-rc3 (original_commit_for_fix)
References
git.kernel.org/...c/f94450ce5053b36002995b72d1fa1db3bb08c5bf
git.kernel.org/...c/9855e063e063158cc5bded576382599dc3133202
git.kernel.org/...c/2b56d7903ab804481f5233a259d5f341e9fd513c
git.kernel.org/...c/dd4f4c93c1488d7100b9964f2da4c8b3c29652f1
git.kernel.org/...c/0e7c074cfcd9bd93765505f9eb8b42f03ed2a744