Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c before 7cc974799fde846eda2d8f00ad4f8e1810eb0499; affected a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c before 8de1e23bd91fe3a6683e4bc574e2d6bcb0eef920; affected a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c before 72be1fd5d256dde748c0905c5e1749a119cad5bd; affected a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c before c622bbc212207d7c6bbd69dd88f0c3a3f5853d16; affected a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c before eca54a092d5f7b497b458ff5a6f66d4f7bfb6674; affected a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c before 9f6ad383901d0cb1c8ea5f7f3160fabfe1540eb5; affected a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c before 513f7b16ed0cffae9348151c72bed17c7073096f; affected a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c before 5d4d985957434867bbe85e4fa5e638f3e48ad522 |
| Linux / Linux | affected 5.8; unaffected 0 before 5.8; unaffected 5.10.271 through 5.10.*; unaffected 5.15.222 through 5.15.*; unaffected 6.1.189 through 6.1.*; unaffected 6.6.158 through 6.6.*; unaffected 6.12.111 through 6.12.*; unaffected 6.18.53 through 6.18.*; unaffected 7.2.7 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
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