net: ethernet: cortina: Carry over frag counter
- 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
- 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: ethernet: cortina: Carry over frag counter The gmac_rx() NAPI poll function assembles packets in an SKB from a ring buffer. If the ring buffer gets completely emptied during a poll cycle, we exit gmac_rx(), but the packet is not yet completely assembled in the SKB, yet the fragment counter frag_nr is reset to zero on the next invocation. Solve this by making the RX fragment counter a part of the port struct, and carry it over between invocations. Reset the fragment counter only right after calling napi_gro_frags(), on error (after calling napi_free_frags()) or if stopping the port. Reset it in some place where not strictly necessary just to emphasize what is going on. This was found by Sashiko during normal patch review.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
4.16
References 8
git.kernel.org
- stable/c/df31e3b64455293df1ea89c7da7d5c9bfbcdd253
- stable/c/7af1fabdee744b7995fe01b30b77dfc397657cb5
- stable/c/75105fcf73f1ce7d9f769aaefec6e6d6645d5ac0
- stable/c/78cf08b3be47c28f07008a76c932bad7cdffa9d8
- stable/c/7123cf481e21b54eb6adc4cb0d8dc2876aeaee41
- stable/c/c373b34877afea61c89e0dd2e38948c624249b9b
- stable/c/46806096f35b8d3dfa2f321ddd77f597edcdb85f
- stable/c/ebd8ec2b309e3a447851b456ccaf8fb39f3661e7