CVE-2021-47223
Severity CVSS v4.0:
Pending analysis
Type:
CWE-476
NULL Pointer Dereference
Publication date:
21/05/2024
Last modified:
03/02/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
net: bridge: fix vlan tunnel dst null pointer dereference<br />
<br />
This patch fixes a tunnel_dst null pointer dereference due to lockless<br />
access in the tunnel egress path. When deleting a vlan tunnel the<br />
tunnel_dst pointer is set to NULL without waiting a grace period (i.e.<br />
while it&#39;s still usable) and packets egressing are dereferencing it<br />
without checking. Use READ/WRITE_ONCE to annotate the lockless use of<br />
tunnel_id, use RCU for accessing tunnel_dst and make sure it is read<br />
only once and checked in the egress path. The dst is already properly RCU<br />
protected so we don&#39;t need to do anything fancy than to make sure<br />
tunnel_id and tunnel_dst are read only once and checked in the egress path.
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:*:*:*:*:*:*:*:* | 4.11 (including) | 4.14.238 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.15 (including) | 4.19.196 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (including) | 5.4.128 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.46 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.12.13 (excluding) |
| cpe:2.3:o:linux:linux_kernel:5.13:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.13:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.13:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.13:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.13:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.13:rc6:*:*:*:*:*:* |
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/24a6e55f17aa123bc1fc54b7d3c410b41bc16530
- https://git.kernel.org/stable/c/58e2071742e38f29f051b709a5cca014ba51166f
- https://git.kernel.org/stable/c/a2241e62f6b4a774d8a92048fdf59c45f6c2fe5c
- https://git.kernel.org/stable/c/abb02e05cb1c0a30dd873a29f33bc092067dc35d
- https://git.kernel.org/stable/c/ad7feefe7164892db424c45687472db803d87f79
- https://git.kernel.org/stable/c/fe0448a3fad365a747283a00a1d1ad5e8d6675b7
- https://git.kernel.org/stable/c/24a6e55f17aa123bc1fc54b7d3c410b41bc16530
- https://git.kernel.org/stable/c/58e2071742e38f29f051b709a5cca014ba51166f
- https://git.kernel.org/stable/c/a2241e62f6b4a774d8a92048fdf59c45f6c2fe5c
- https://git.kernel.org/stable/c/abb02e05cb1c0a30dd873a29f33bc092067dc35d
- https://git.kernel.org/stable/c/ad7feefe7164892db424c45687472db803d87f79
- https://git.kernel.org/stable/c/fe0448a3fad365a747283a00a1d1ad5e8d6675b7



