PCI: kirin: Fix buffer overflow in kirin_pcie_parse_port() (Linux Linux)

CVE-2024-47751
HIGH 7.8

At a glance

Source
NVD
EPSS
EPSS 0.23 % · percentile 14 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Modified

Description

In the Linux kernel, the following vulnerability has been resolved: PCI: kirin: Fix buffer overflow in kirin_pcie_parse_port() Within kirin_pcie_parse_port(), the pcie->num_slots is compared to pcie->gpio_id_reset size (MAX_PCI_SLOTS) which is correct and would lead to an overflow. Thus, fix condition to pcie->num_slots + 1 >= MAX_PCI_SLOTS and move pcie->num_slots increment below the if-statement to avoid out-of-bounds array access. Found by Linux Verification Center (linuxtesting.org) with SVACE. [kwilczynski: commit log]

Weaknesses (CWE)

  • CWE-120 — Buffer Copy without Checking Size of Input

References

Scores

VersionScoreVectorScored by
CVSS 3.1HIGH 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HNVD · nvd@nist.gov (Primary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected b22dbbb24571c052364f476381dbac110bdca4d5 < a5f795f9412854df28e66679c5e6b68b0b79c229 ; affected b22dbbb24571c052364f476381dbac110bdca4d5 < 95248d7497bcbfe7deed4805469c6ff6ddd7f9d1 ; affected b22dbbb24571c052364f476381dbac110bdca4d5 < 6dcc5b49d6607a741a14122bf3105f3ac50d259e ; affected b22dbbb24571c052364f476381dbac110bdca4d5 < aeb0335971806e15ac91e838ca471936c8e7efd5 ; affected b22dbbb24571c052364f476381dbac110bdca4d5 < c500a86693a126c9393e602741e348f80f1b0fc5
Linux · Linuxaffected 5.16 ; unaffected 0 < 5.16 ; unaffected 6.1.113 ≤ 6.1.* ; unaffected 6.6.54 ≤ 6.6.* ; unaffected 6.10.13 ≤ 6.10.* ; unaffected 6.11.2 ≤ 6.11.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD