Description
In the Linux kernel, the following vulnerability has been resolved: net: hinic: fix mailbox segment buffer overflow check_mbox_seq_id_and_seg_len() validates that seq_id does not exceed SEQ_ID_MAX_VAL (42) and seg_len does not exceed MBOX_SEG_LEN (48). However, this allows the last segment (seq_id=42) to carry a full 48-byte payload, writing to offset 42*48=2016 for 48 bytes (ending at byte 2064). The receive buffer is only MBOX_MAX_BUF_SZ (2048) bytes, resulting in a 16-byte heap buffer overflow. The hinic3 driver already handles this correctly by defining MBOX_LAST_SEG_MAX_LEN and rejecting the last segment when it exceeds the remaining buffer space. Apply the same fix to the hinic driver.
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
a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c to < 7cc974799fde846eda2d8f00ad4f8e1810eb0499affecteda425b6e1c69ba907b72b737a4d44f8cfbc43ce3c to < 8de1e23bd91fe3a6683e4bc574e2d6bcb0eef920affecteda425b6e1c69ba907b72b737a4d44f8cfbc43ce3c to < 72be1fd5d256dde748c0905c5e1749a119cad5bdaffecteda425b6e1c69ba907b72b737a4d44f8cfbc43ce3c to < c622bbc212207d7c6bbd69dd88f0c3a3f5853d16affecteda425b6e1c69ba907b72b737a4d44f8cfbc43ce3c to < eca54a092d5f7b497b458ff5a6f66d4f7bfb6674affecteda425b6e1c69ba907b72b737a4d44f8cfbc43ce3c to < 9f6ad383901d0cb1c8ea5f7f3160fabfe1540eb5affecteda425b6e1c69ba907b72b737a4d44f8cfbc43ce3c to < 513f7b16ed0cffae9348151c72bed17c7073096faffecteda425b6e1c69ba907b72b737a4d44f8cfbc43ce3c to < 5d4d985957434867bbe85e4fa5e638f3e48ad522affected
Linux Linux
Default version status: affected
5.8affected0 to < 5.8unaffected5.10.271 to ≤ 5.10.*unaffected5.15.222 to ≤ 5.15.*unaffected6.1.189 to ≤ 6.1.*unaffected6.6.158 to ≤ 6.6.*unaffected6.12.111 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2.7 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/7cc974799fde846eda2d8f00ad4f8e1810eb0499 ↗
- https://git.kernel.org/stable/c/8de1e23bd91fe3a6683e4bc574e2d6bcb0eef920 ↗
- https://git.kernel.org/stable/c/72be1fd5d256dde748c0905c5e1749a119cad5bd ↗
- https://git.kernel.org/stable/c/c622bbc212207d7c6bbd69dd88f0c3a3f5853d16 ↗
- https://git.kernel.org/stable/c/eca54a092d5f7b497b458ff5a6f66d4f7bfb6674 ↗
- https://git.kernel.org/stable/c/9f6ad383901d0cb1c8ea5f7f3160fabfe1540eb5 ↗
- https://git.kernel.org/stable/c/513f7b16ed0cffae9348151c72bed17c7073096f ↗
- https://git.kernel.org/stable/c/5d4d985957434867bbe85e4fa5e638f3e48ad522 ↗