CVE-2021-47523

See a problem?
Source
https://nvd.nist.gov/vuln/detail/CVE-2021-47523
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-47523.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2021-47523
Related
Published
2024-05-24T15:15:14Z
Modified
2024-09-18T03:18:51.991916Z
Summary
[none]
Details

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

IB/hfi1: Fix leak of rcvhdrtaildummykvaddr

This buffer is currently allocated in hfi1_init():

if (reinit)
    ret = init_after_reset(dd);
else
    ret = loadtime_init(dd);
if (ret)
    goto done;

/* allocate dummy tail memory for all receive contexts */
dd->rcvhdrtail_dummy_kvaddr = dma_alloc_coherent(&dd->pcidev->dev,
                         sizeof(u64),
                         &dd->rcvhdrtail_dummy_dma,
                         GFP_KERNEL);

if (!dd->rcvhdrtail_dummy_kvaddr) {
    dd_dev_err(dd, "cannot allocate dummy tail memory\n");
    ret = -ENOMEM;
    goto done;
}

The reinit triggered path will overwrite the old allocation and leak it.

Fix by moving the allocation to hfi1allocdevdata() and the deallocation to hfi1freedevdata().

References

Affected packages

Debian:11 / linux

Package

Name
linux
Purl
pkg:deb/debian/linux?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
5.10.92-1

Affected versions

5.*

5.10.46-4
5.10.46-5
5.10.70-1~bpo10+1
5.10.70-1
5.10.84-1
5.10.92-1~bpo10+1

Ecosystem specific

{
    "urgency": "not yet assigned"
}

Debian:12 / linux

Package

Name
linux
Purl
pkg:deb/debian/linux?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
5.15.15-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}

Debian:13 / linux

Package

Name
linux
Purl
pkg:deb/debian/linux?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
5.15.15-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}