CVE-2021-47333
Severity CVSS v4.0:
Pending analysis
Type:
CWE-476
NULL Pointer Dereference
Publication date:
21/05/2024
Last modified:
02/04/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
misc: alcor_pci: fix null-ptr-deref when there is no PCI bridge<br />
<br />
There is an issue with the ASPM(optional) capability checking function.<br />
A device might be attached to root complex directly, in this case,<br />
bus->self(bridge) will be NULL, thus priv->parent_pdev is NULL.<br />
Since alcor_pci_init_check_aspm(priv->parent_pdev) checks the PCI link&#39;s<br />
ASPM capability and populate parent_cap_off, which will be used later by<br />
alcor_pci_aspm_ctrl() to dynamically turn on/off device, what we can do<br />
here is to avoid checking the capability if we are on the root complex.<br />
This will make pdev_cap_off 0 and alcor_pci_aspm_ctrl() will simply<br />
return when bring called, effectively disable ASPM for the device.<br />
<br />
[ 1.246492] BUG: kernel NULL pointer dereference, address: 00000000000000c0<br />
[ 1.248731] RIP: 0010:pci_read_config_byte+0x5/0x40<br />
[ 1.253998] Call Trace:<br />
[ 1.254131] ? alcor_pci_find_cap_offset.isra.0+0x3a/0x100 [alcor_pci]<br />
[ 1.254476] alcor_pci_probe+0x169/0x2d5 [alcor_pci]
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.4.134 (excluding) | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.52 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.12.19 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.13 (including) | 5.13.4 (excluding) |
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/09d154990ca82d14aed2b72796f6c8845e2e605d
- https://git.kernel.org/stable/c/3ce3e45cc333da707d4d6eb433574b990bcc26f5
- https://git.kernel.org/stable/c/58f69684ba03e5b0e0a3ae844a845280c0f06309
- https://git.kernel.org/stable/c/717cf5ae52322ddbdf3ac2c584b34c5970b0d174
- https://git.kernel.org/stable/c/d2639ffdcad463b358b6bef8645ff81715daffcb
- https://git.kernel.org/stable/c/09d154990ca82d14aed2b72796f6c8845e2e605d
- https://git.kernel.org/stable/c/3ce3e45cc333da707d4d6eb433574b990bcc26f5
- https://git.kernel.org/stable/c/58f69684ba03e5b0e0a3ae844a845280c0f06309
- https://git.kernel.org/stable/c/717cf5ae52322ddbdf3ac2c584b34c5970b0d174
- https://git.kernel.org/stable/c/d2639ffdcad463b358b6bef8645ff81715daffcb



