CVE-2022-49697
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
26/02/2025
Last modified:
24/10/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
bpf: Fix request_sock leak in sk lookup helpers<br />
<br />
A customer reported a request_socket leak in a Calico cloud environment. We<br />
found that a BPF program was doing a socket lookup with takes a refcnt on<br />
the socket and that it was finding the request_socket but returning the parent<br />
LISTEN socket via sk_to_full_sk() without decrementing the child request socket<br />
1st, resulting in request_sock slab object leak. This patch retains the<br />
existing behaviour of returning full socks to the caller but it also decrements<br />
the child request_socket if one is present before doing so to prevent the leak.<br />
<br />
Thanks to Curtis Taylor for all the help in diagnosing and testing this. And<br />
thanks to Antoine Tenart for the reproducer and patch input.<br />
<br />
v2 of this patch contains, refactor as per Daniel Borkmann&#39;s suggestions to<br />
validate RCU flags on the listen socket so that it balances with bpf_sk_release()<br />
and update comments as per Martin KaFai Lau&#39;s suggestion. One small change to<br />
Daniels suggestion, put "sk = sk2" under "if (sk2 != sk)" to avoid an extra<br />
instruction.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.2 (including) | 5.4.202 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.127 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.51 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 5.18.8 (excluding) |
| cpe:2.3:o:linux:linux_kernel:5.19:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.19:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.19:rc3:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/3046a827316c0e55fc563b4fb78c93b9ca5c7c37
- https://git.kernel.org/stable/c/516760f1d2979903eaad5b437256913c5cd98416
- https://git.kernel.org/stable/c/5a62b5ba4c0ce8315b6382cd4ace81b48cd121cd
- https://git.kernel.org/stable/c/8ffe2e50e9678c8373027492035f094b130437f1
- https://git.kernel.org/stable/c/b03607437ea81b850599f705096b05b85e7a4a71



