CVE-2024-47751

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-47751
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-47751.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-47751
Downstream
Related
Published
2024-10-21T12:14:16Z
Modified
2025-10-15T00:42:40.720383Z
Summary
PCI: kirin: Fix buffer overflow in kirin_pcie_parse_port()
Details

In the Linux kernel, the following vulnerability has been resolved:

PCI: kirin: Fix buffer overflow in kirinpcieparse_port()

Within kirinpcieparseport(), the pcie->numslots is compared to pcie->gpioidreset size (MAXPCISLOTS) which is correct and would lead to an overflow.

Thus, fix condition to pcie->numslots + 1 >= MAXPCISLOTS and move pcie->numslots increment below the if-statement to avoid out-of-bounds array access.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

[kwilczynski: commit log]

References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
b22dbbb24571c052364f476381dbac110bdca4d5
Fixed
a5f795f9412854df28e66679c5e6b68b0b79c229
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
b22dbbb24571c052364f476381dbac110bdca4d5
Fixed
95248d7497bcbfe7deed4805469c6ff6ddd7f9d1
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
b22dbbb24571c052364f476381dbac110bdca4d5
Fixed
6dcc5b49d6607a741a14122bf3105f3ac50d259e
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
b22dbbb24571c052364f476381dbac110bdca4d5
Fixed
aeb0335971806e15ac91e838ca471936c8e7efd5
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
b22dbbb24571c052364f476381dbac110bdca4d5
Fixed
c500a86693a126c9393e602741e348f80f1b0fc5

Affected versions

v5.*

v5.15
v5.15-rc3
v5.15-rc4
v5.15-rc5
v5.15-rc6
v5.15-rc7
v5.16
v5.16-rc1
v5.16-rc2
v5.16-rc3
v5.16-rc4
v5.16-rc5
v5.16-rc6
v5.16-rc7
v5.16-rc8
v5.17
v5.17-rc1
v5.17-rc2
v5.17-rc3
v5.17-rc4
v5.17-rc5
v5.17-rc6
v5.17-rc7
v5.17-rc8
v5.18
v5.18-rc1
v5.18-rc2
v5.18-rc3
v5.18-rc4
v5.18-rc5
v5.18-rc6
v5.18-rc7
v5.19
v5.19-rc1
v5.19-rc2
v5.19-rc3
v5.19-rc4
v5.19-rc5
v5.19-rc6
v5.19-rc7
v5.19-rc8

v6.*

v6.0
v6.0-rc1
v6.0-rc2
v6.0-rc3
v6.0-rc4
v6.0-rc5
v6.0-rc6
v6.0-rc7
v6.1
v6.1-rc1
v6.1-rc2
v6.1-rc3
v6.1-rc4
v6.1-rc5
v6.1-rc6
v6.1-rc7
v6.1-rc8
v6.1.1
v6.1.10
v6.1.100
v6.1.101
v6.1.102
v6.1.103
v6.1.104
v6.1.105
v6.1.106
v6.1.107
v6.1.108
v6.1.109
v6.1.11
v6.1.110
v6.1.111
v6.1.112
v6.1.12
v6.1.13
v6.1.14
v6.1.15
v6.1.16
v6.1.17
v6.1.18
v6.1.19
v6.1.2
v6.1.20
v6.1.21
v6.1.22
v6.1.23
v6.1.24
v6.1.25
v6.1.26
v6.1.27
v6.1.28
v6.1.29
v6.1.3
v6.1.30
v6.1.31
v6.1.32
v6.1.33
v6.1.34
v6.1.35
v6.1.36
v6.1.37
v6.1.38
v6.1.39
v6.1.4
v6.1.40
v6.1.41
v6.1.42
v6.1.43
v6.1.44
v6.1.45
v6.1.46
v6.1.47
v6.1.48
v6.1.49
v6.1.5
v6.1.50
v6.1.51
v6.1.52
v6.1.53
v6.1.54
v6.1.55
v6.1.56
v6.1.57
v6.1.58
v6.1.59
v6.1.6
v6.1.60
v6.1.61
v6.1.62
v6.1.63
v6.1.64
v6.1.65
v6.1.66
v6.1.67
v6.1.68
v6.1.69
v6.1.7
v6.1.70
v6.1.71
v6.1.72
v6.1.73
v6.1.74
v6.1.75
v6.1.76
v6.1.77
v6.1.78
v6.1.79
v6.1.8
v6.1.80
v6.1.81
v6.1.82
v6.1.83
v6.1.84
v6.1.85
v6.1.86
v6.1.87
v6.1.88
v6.1.89
v6.1.9
v6.1.90
v6.1.91
v6.1.92
v6.1.93
v6.1.94
v6.1.95
v6.1.96
v6.1.97
v6.1.98
v6.1.99
v6.10
v6.10-rc1
v6.10-rc2
v6.10-rc3
v6.10-rc4
v6.10-rc5
v6.10-rc6
v6.10-rc7
v6.10.1
v6.10.10
v6.10.11
v6.10.12
v6.10.2
v6.10.3
v6.10.4
v6.10.5
v6.10.6
v6.10.7
v6.10.8
v6.10.9
v6.11
v6.11-rc1
v6.11-rc2
v6.11-rc3
v6.11-rc4
v6.11-rc5
v6.11-rc6
v6.11-rc7
v6.11.1
v6.2
v6.2-rc1
v6.2-rc2
v6.2-rc3
v6.2-rc4
v6.2-rc5
v6.2-rc6
v6.2-rc7
v6.2-rc8
v6.3
v6.3-rc1
v6.3-rc2
v6.3-rc3
v6.3-rc4
v6.3-rc5
v6.3-rc6
v6.3-rc7
v6.4
v6.4-rc1
v6.4-rc2
v6.4-rc3
v6.4-rc4
v6.4-rc5
v6.4-rc6
v6.4-rc7
v6.5
v6.5-rc1
v6.5-rc2
v6.5-rc3
v6.5-rc4
v6.5-rc5
v6.5-rc6
v6.5-rc7
v6.6
v6.6-rc1
v6.6-rc2
v6.6-rc3
v6.6-rc4
v6.6-rc5
v6.6-rc6
v6.6-rc7
v6.6.1
v6.6.10
v6.6.11
v6.6.12
v6.6.13
v6.6.14
v6.6.15
v6.6.16
v6.6.17
v6.6.18
v6.6.19
v6.6.2
v6.6.20
v6.6.21
v6.6.22
v6.6.23
v6.6.24
v6.6.25
v6.6.26
v6.6.27
v6.6.28
v6.6.29
v6.6.3
v6.6.30
v6.6.31
v6.6.32
v6.6.33
v6.6.34
v6.6.35
v6.6.36
v6.6.37
v6.6.38
v6.6.39
v6.6.4
v6.6.40
v6.6.41
v6.6.42
v6.6.43
v6.6.44
v6.6.45
v6.6.46
v6.6.47
v6.6.48
v6.6.49
v6.6.5
v6.6.50
v6.6.51
v6.6.52
v6.6.53
v6.6.6
v6.6.7
v6.6.8
v6.6.9
v6.7
v6.7-rc1
v6.7-rc2
v6.7-rc3
v6.7-rc4
v6.7-rc5
v6.7-rc6
v6.7-rc7
v6.7-rc8
v6.8
v6.8-rc1
v6.8-rc2
v6.8-rc3
v6.8-rc4
v6.8-rc5
v6.8-rc6
v6.8-rc7
v6.9
v6.9-rc1
v6.9-rc2
v6.9-rc3
v6.9-rc4
v6.9-rc5
v6.9-rc6
v6.9-rc7

Database specific

{
    "vanir_signatures": [
        {
            "id": "CVE-2024-47751-09966623",
            "signature_type": "Line",
            "target": {
                "file": "drivers/pci/controller/dwc/pcie-kirin.c"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@aeb0335971806e15ac91e838ca471936c8e7efd5",
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "314684259056089404521096407894173229556",
                    "39630415274827562699757896989990629444",
                    "324768294074943255350900825165472427628",
                    "26429928997581743956518599598464846453",
                    "263246966576043653686711087564039374098",
                    "286454477255706716303058852157214673688",
                    "310252693440375607717958327241321093145",
                    "117874229324935439592778602086282714931"
                ]
            },
            "deprecated": false,
            "signature_version": "v1"
        },
        {
            "id": "CVE-2024-47751-2b4d97bf",
            "signature_type": "Line",
            "target": {
                "file": "drivers/pci/controller/dwc/pcie-kirin.c"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a5f795f9412854df28e66679c5e6b68b0b79c229",
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "223396580389000372569369221580461171222",
                    "117296631022619361073230541642502686002",
                    "145355793475399773059515960117616434748",
                    "37507966195846868092153243922723986624",
                    "106750560963366628412629923356352182405",
                    "163277694127076598932922264001151870087",
                    "288709549660133719860316212838530789054",
                    "326356385405096681775322360292318431146",
                    "117874229324935439592778602086282714931"
                ]
            },
            "deprecated": false,
            "signature_version": "v1"
        },
        {
            "id": "CVE-2024-47751-53e970a2",
            "signature_type": "Function",
            "target": {
                "file": "drivers/pci/controller/dwc/pcie-kirin.c",
                "function": "kirin_pcie_parse_port"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@95248d7497bcbfe7deed4805469c6ff6ddd7f9d1",
            "digest": {
                "function_hash": "267699117966683719711502442628256000953",
                "length": 977.0
            },
            "deprecated": false,
            "signature_version": "v1"
        },
        {
            "id": "CVE-2024-47751-718ce75d",
            "signature_type": "Function",
            "target": {
                "file": "drivers/pci/controller/dwc/pcie-kirin.c",
                "function": "kirin_pcie_parse_port"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6dcc5b49d6607a741a14122bf3105f3ac50d259e",
            "digest": {
                "function_hash": "35241813487124089988313054333776895300",
                "length": 933.0
            },
            "deprecated": false,
            "signature_version": "v1"
        },
        {
            "id": "CVE-2024-47751-88c0e034",
            "signature_type": "Function",
            "target": {
                "file": "drivers/pci/controller/dwc/pcie-kirin.c",
                "function": "kirin_pcie_parse_port"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a5f795f9412854df28e66679c5e6b68b0b79c229",
            "digest": {
                "function_hash": "267699117966683719711502442628256000953",
                "length": 977.0
            },
            "deprecated": false,
            "signature_version": "v1"
        },
        {
            "id": "CVE-2024-47751-8e7e4555",
            "signature_type": "Line",
            "target": {
                "file": "drivers/pci/controller/dwc/pcie-kirin.c"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6dcc5b49d6607a741a14122bf3105f3ac50d259e",
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "223396580389000372569369221580461171222",
                    "117296631022619361073230541642502686002",
                    "145355793475399773059515960117616434748",
                    "37507966195846868092153243922723986624",
                    "106750560963366628412629923356352182405",
                    "163277694127076598932922264001151870087",
                    "288709549660133719860316212838530789054",
                    "326356385405096681775322360292318431146",
                    "117874229324935439592778602086282714931"
                ]
            },
            "deprecated": false,
            "signature_version": "v1"
        },
        {
            "id": "CVE-2024-47751-992ab476",
            "signature_type": "Function",
            "target": {
                "file": "drivers/pci/controller/dwc/pcie-kirin.c",
                "function": "kirin_pcie_parse_port"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c500a86693a126c9393e602741e348f80f1b0fc5",
            "digest": {
                "function_hash": "12942734857694880563608926559168432882",
                "length": 1138.0
            },
            "deprecated": false,
            "signature_version": "v1"
        },
        {
            "id": "CVE-2024-47751-b53a7c47",
            "signature_type": "Function",
            "target": {
                "file": "drivers/pci/controller/dwc/pcie-kirin.c",
                "function": "kirin_pcie_parse_port"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@aeb0335971806e15ac91e838ca471936c8e7efd5",
            "digest": {
                "function_hash": "12942734857694880563608926559168432882",
                "length": 1138.0
            },
            "deprecated": false,
            "signature_version": "v1"
        },
        {
            "id": "CVE-2024-47751-d28feaeb",
            "signature_type": "Line",
            "target": {
                "file": "drivers/pci/controller/dwc/pcie-kirin.c"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c500a86693a126c9393e602741e348f80f1b0fc5",
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "314684259056089404521096407894173229556",
                    "39630415274827562699757896989990629444",
                    "324768294074943255350900825165472427628",
                    "26429928997581743956518599598464846453",
                    "263246966576043653686711087564039374098",
                    "286454477255706716303058852157214673688",
                    "310252693440375607717958327241321093145",
                    "117874229324935439592778602086282714931"
                ]
            },
            "deprecated": false,
            "signature_version": "v1"
        },
        {
            "id": "CVE-2024-47751-f9b5cb7d",
            "signature_type": "Line",
            "target": {
                "file": "drivers/pci/controller/dwc/pcie-kirin.c"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@95248d7497bcbfe7deed4805469c6ff6ddd7f9d1",
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "223396580389000372569369221580461171222",
                    "117296631022619361073230541642502686002",
                    "145355793475399773059515960117616434748",
                    "37507966195846868092153243922723986624",
                    "106750560963366628412629923356352182405",
                    "163277694127076598932922264001151870087",
                    "288709549660133719860316212838530789054",
                    "326356385405096681775322360292318431146",
                    "117874229324935439592778602086282714931"
                ]
            },
            "deprecated": false,
            "signature_version": "v1"
        }
    ]
}

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.113
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.54
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.10.13
Type
ECOSYSTEM
Events
Introduced
6.11.0
Fixed
6.11.2