CVE-2026-64055
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
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.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 < df31e3b64455293df1ea89c7da7d5c9bfbcdd253 | affected |
| Linux | Linux | 4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 < 7af1fabdee744b7995fe01b30b77dfc397657cb5 | affected |
| Linux | Linux | 4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 < 75105fcf73f1ce7d9f769aaefec6e6d6645d5ac0 | affected |
| Linux | Linux | 4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 < 78cf08b3be47c28f07008a76c932bad7cdffa9d8 | affected |
| Linux | Linux | 4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 < 7123cf481e21b54eb6adc4cb0d8dc2876aeaee41 | affected |
| Linux | Linux | 4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 < c373b34877afea61c89e0dd2e38948c624249b9b | affected |
| Linux | Linux | 4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 < 46806096f35b8d3dfa2f321ddd77f597edcdb85f | affected |
| Linux | Linux | 4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 < ebd8ec2b309e3a447851b456ccaf8fb39f3661e7 | affected |
| Linux | Linux | 4.16 | affected |
| Linux | Linux | 0 < 4.16 | unaffected |
| Linux | Linux | 5.10.258 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.209 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.175 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.142 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.92 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.34 <= 6.18.* | unaffected |
| Linux | Linux | 7.0.11 <= 7.0.* | unaffected |
| Linux | Linux | 7.1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/df31e3b64455293df1ea89c7da7d5c9bfbcdd253
- https://git.kernel.org/stable/c/7af1fabdee744b7995fe01b30b77dfc397657cb5
- https://git.kernel.org/stable/c/75105fcf73f1ce7d9f769aaefec6e6d6645d5ac0
- https://git.kernel.org/stable/c/78cf08b3be47c28f07008a76c932bad7cdffa9d8
- https://git.kernel.org/stable/c/7123cf481e21b54eb6adc4cb0d8dc2876aeaee41
- https://git.kernel.org/stable/c/c373b34877afea61c89e0dd2e38948c624249b9b
- https://git.kernel.org/stable/c/46806096f35b8d3dfa2f321ddd77f597edcdb85f
- https://git.kernel.org/stable/c/ebd8ec2b309e3a447851b456ccaf8fb39f3661e7
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.