net: hinic: fix mailbox segment buffer overflow
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.111, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c · fixed in 7cc974799fde846eda2d8f00ad4f8e1810eb0499; From a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c · fixed in 8de1e23bd91fe3a6683e4bc574e2d6bcb0eef920; From a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c · fixed in 72be1fd5d256dde748c0905c5e1749a119cad5bd; From a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c · fixed in c622bbc212207d7c6bbd69dd88f0c3a3f5853d16; From a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c · fixed in eca54a092d5f7b497b458ff5a6f66d4f7bfb6674; From a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c · fixed in 9f6ad383901d0cb1c8ea5f7f3160fabfe1540eb5; From a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c · fixed in 513f7b16ed0cffae9348151c72bed17c7073096f; From a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c · fixed in 5d4d985957434867bbe85e4fa5e638f3e48ad522
- Linux Linux
5.8
- KernelLinux
From 5.8.0 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53; From 6.19.0 · fixed in 7.2.7
References 8
git.kernel.org
- stable/c/7cc974799fde846eda2d8f00ad4f8e1810eb0499
- stable/c/8de1e23bd91fe3a6683e4bc574e2d6bcb0eef920
- stable/c/72be1fd5d256dde748c0905c5e1749a119cad5bd
- stable/c/c622bbc212207d7c6bbd69dd88f0c3a3f5853d16
- stable/c/eca54a092d5f7b497b458ff5a6f66d4f7bfb6674
- stable/c/9f6ad383901d0cb1c8ea5f7f3160fabfe1540eb5
- stable/c/513f7b16ed0cffae9348151c72bed17c7073096f
- stable/c/5d4d985957434867bbe85e4fa5e638f3e48ad522