CVE-2023-54033
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
bpf: fix a memory leak in the LRU and LRU_PERCPU hash maps
The LRU and LRU_PERCPU maps allocate a new element on update before locking the target hash table bucket. Right after that the maps try to lock the bucket. If this fails, then maps return -EBUSY to the caller without releasing the allocated element. This makes the element untracked: it doesn't belong to either of free lists, and it doesn't belong to the hash table, so can't be re-used; this eventually leads to the permanent -ENOMEM on LRU map updates, which is unexpected. Fix this by returning the element to the local free list if bucket locking fails.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 20b6cc34ea74b6a84599c1f8a70f3315b56a1883 < 79ea1a12fb9a8275b6e19d4ca625dd872dedcbb9 | affected |
| Linux | Linux | 20b6cc34ea74b6a84599c1f8a70f3315b56a1883 < 1a9e80f757bbb1562d82e350afce2bb2f712cc3d | affected |
| Linux | Linux | 20b6cc34ea74b6a84599c1f8a70f3315b56a1883 < 965e9cccbe6b9c7b379908cebcb5e3a47f20dd5e | affected |
| Linux | Linux | 20b6cc34ea74b6a84599c1f8a70f3315b56a1883 < b34ffb0c6d23583830f9327864b9c1f486003305 | affected |
| Linux | Linux | 5.11 | affected |
| Linux | Linux | 0 < 5.11 | unaffected |
| Linux | Linux | 5.15.115 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.31 <= 6.1.* | unaffected |
| Linux | Linux | 6.3.5 <= 6.3.* | unaffected |
| Linux | Linux | 6.4 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/79ea1a12fb9a8275b6e19d4ca625dd872dedcbb9
- https://git.kernel.org/stable/c/1a9e80f757bbb1562d82e350afce2bb2f712cc3d
- https://git.kernel.org/stable/c/965e9cccbe6b9c7b379908cebcb5e3a47f20dd5e
- https://git.kernel.org/stable/c/b34ffb0c6d23583830f9327864b9c1f486003305
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.