CVE-2022-49904
Severity CVSS v4.0:
Pending analysis
Type:
CWE-476
NULL Pointer Dereference
Publication date:
01/05/2025
Last modified:
07/05/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
net, neigh: Fix null-ptr-deref in neigh_table_clear()<br />
<br />
When IPv6 module gets initialized but hits an error in the middle,<br />
kenel panic with:<br />
<br />
KASAN: null-ptr-deref in range [0x0000000000000598-0x000000000000059f]<br />
CPU: 1 PID: 361 Comm: insmod<br />
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996)<br />
RIP: 0010:__neigh_ifdown.isra.0+0x24b/0x370<br />
RSP: 0018:ffff888012677908 EFLAGS: 00000202<br />
...<br />
Call Trace:<br />
<br />
neigh_table_clear+0x94/0x2d0<br />
ndisc_cleanup+0x27/0x40 [ipv6]<br />
inet6_init+0x21c/0x2cb [ipv6]<br />
do_one_initcall+0xd3/0x4d0<br />
do_init_module+0x1ae/0x670<br />
...<br />
Kernel panic - not syncing: Fatal exception<br />
<br />
When ipv6 initialization fails, it will try to cleanup and calls:<br />
<br />
neigh_table_clear()<br />
neigh_ifdown(tbl, NULL)<br />
pneigh_queue_purge(&tbl->proxy_queue, dev_net(dev == NULL))<br />
# dev_net(NULL) triggers null-ptr-deref.<br />
<br />
Fix it by passing NULL to pneigh_queue_purge() in neigh_ifdown() if dev<br />
is NULL, to make kernel not panic immediately.
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.14.292 (including) | 4.14.299 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.19.257 (including) | 4.19.265 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.4.212 (including) | 5.4.224 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.10.141 (including) | 5.10.154 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.15.65 (including) | 5.15.78 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.19.7 (including) | 6.0.8 (excluding) |
cpe:2.3:o:linux:linux_kernel:6.1:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.1:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.1: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/0d38b4ca6679e72860ff8730e79bb99d0e9fa3b0
- https://git.kernel.org/stable/c/1c89642e7f2b7ecc9635610653f5c2f0276c0051
- https://git.kernel.org/stable/c/2b45d6d0c41cb9593868e476681efb1aae5078a1
- https://git.kernel.org/stable/c/a99a8ec4c62180c889482a2ff6465033e0743458
- https://git.kernel.org/stable/c/b49f6b2f21f543d4dc88fb7b1ec2adccb822f27c
- https://git.kernel.org/stable/c/b736592de2aa53aee2d48d6b129bc0c892007bbe
- https://git.kernel.org/stable/c/f8017317cb0b279b8ab98b0f3901a2e0ac880dad