CVE-2022-49085

Severity CVSS v4.0:
Pending analysis
Type:
CWE-416 Use After Free
Publication date:
26/02/2025
Last modified:
25/03/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> drbd: Fix five use after free bugs in get_initial_state<br /> <br /> In get_initial_state, it calls notify_initial_state_done(skb,..) if<br /> cb-&gt;args[5]==1. If genlmsg_put() failed in notify_initial_state_done(),<br /> the skb will be freed by nlmsg_free(skb).<br /> Then get_initial_state will goto out and the freed skb will be used by<br /> return value skb-&gt;len, which is a uaf bug.<br /> <br /> What&amp;#39;s worse, the same problem goes even further: skb can also be<br /> freed in the notify_*_state_change -&gt; notify_*_state calls below.<br /> Thus 4 additional uaf bugs happened.<br /> <br /> My patch lets the problem callee functions: notify_initial_state_done<br /> and notify_*_state_change return an error code if errors happen.<br /> So that the error codes could be propagated and the uaf bugs can be avoid.<br /> <br /> v2 reports a compilation warning. This v3 fixed this warning and built<br /> successfully in my local environment with no additional warnings.<br /> v2: https://lore.kernel.org/patchwork/patch/1435218/

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.5 (including) 4.9.311 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.10 (including) 4.14.276 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.15 (including) 4.19.238 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.20 (including) 5.4.189 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 (including) 5.10.111 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.34 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 5.16.20 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.17 (including) 5.17.3 (excluding)
cpe:2.3:o:linux:linux_kernel:5.18:rc1:*:*:*:*:*:*