ice: Fix memory leak in ice_set_ringparam()
- 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 6.1.175, 6.6.136, 6.12.81, 6.18.22, 6.19.7
- 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: ice: Fix memory leak in ice_set_ringparam() In ice_set_ringparam, tx_rings and xdp_rings are allocated before rx_rings. If the allocation of rx_rings fails, the code jumps to the done label leaking both tx_rings and xdp_rings. Furthermore, if the setup of an individual Rx ring fails during the loop, the code jumps to the free_tx label which releases tx_rings but leaks xdp_rings. Fix this by introducing a free_xdp label and updating the error paths to ensure both xdp_rings and tx_rings are properly freed if rx_rings allocation or setup fails. Compile tested only. Issue found using a prototype static analysis tool and code review.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From fcea6f3da546b93050f3534aadea7bd96c1d7349 · fixed in bddf04e3822e4fa38691433dd0750420d49a0dd6; From fcea6f3da546b93050f3534aadea7bd96c1d7349 · fixed in e0c211a0c26159058303712d6b4fbd1c88835e6d; From fcea6f3da546b93050f3534aadea7bd96c1d7349 · fixed in b23282218eca27b710111460b4964c8a456c6c44; From fcea6f3da546b93050f3534aadea7bd96c1d7349 · fixed in 63dc317dfcd3faffd082c2bf3080f9ad070273da; From fcea6f3da546b93050f3534aadea7bd96c1d7349 · fixed in 44ba32a892b72de3faa04b8cfb1f2f1418fdd580; From fcea6f3da546b93050f3534aadea7bd96c1d7349 · fixed in fe868b499d16f55bbeea89992edb98043c9de416
- Linux Linux
4.17
- KernelLinux
From 4.17.0 · fixed in 6.1.175; From 6.2.0 · fixed in 6.6.136; From 6.7.0 · fixed in 6.12.81; From 6.13.0 · fixed in 6.18.22; From 6.19.0 · fixed in 6.19.7