CVE-2023-52455

Source
https://nvd.nist.gov/vuln/detail/CVE-2023-52455
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-52455.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2023-52455
Downstream
Related
Published
2024-02-23T14:46:18Z
Modified
2025-10-21T14:17:21.699484Z
Summary
iommu: Don't reserve 0-length IOVA region
Details

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

iommu: Don't reserve 0-length IOVA region

When the bootloader/firmware doesn't setup the framebuffers, their address and size are 0 in "iommu-addresses" property. If IOVA region is reserved with 0 length, then it ends up corrupting the IOVA rbtree with an entry which has pfnhi < pfnlo. If we intend to use display driver in kernel without framebuffer then it's causing the display IOMMU mappings to fail as entire valid IOVA space is reserved when address and length are passed as 0. An ideal solution would be firmware removing the "iommu-addresses" property and corresponding "memory-region" if display is not present. But the kernel should be able to handle this by checking for size of IOVA region and skipping the IOVA reservation if size is 0. Also, add a warning if firmware is requesting 0-length IOVA region reservation.

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
a5bf3cfce8cb77d9d24613ab52d520896f83dd48
Fixed
98b8a550da83cc392a14298c4b3eaaf0332ae6ad
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
a5bf3cfce8cb77d9d24613ab52d520896f83dd48
Fixed
5e23e283910c9f30248732ae0770bcb0c9438abf
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
a5bf3cfce8cb77d9d24613ab52d520896f83dd48
Fixed
bb57f6705960bebeb832142ce9abf43220c3eab1

Affected versions

v6.*

v6.2
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.2
v6.6.3
v6.6.4
v6.6.5
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.7.1

Database specific

vanir_signatures

[
    {
        "signature_version": "v1",
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "11422911723715983063687084984174408170",
                "260041912613059797869264919054149295438",
                "126381895853040639734137157742551841919",
                "182289715756828101756102850620699082893"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "drivers/iommu/of_iommu.c"
        },
        "id": "CVE-2023-52455-4778fb6f",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5e23e283910c9f30248732ae0770bcb0c9438abf",
        "signature_type": "Line"
    },
    {
        "signature_version": "v1",
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "11422911723715983063687084984174408170",
                "260041912613059797869264919054149295438",
                "126381895853040639734137157742551841919",
                "182289715756828101756102850620699082893"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "drivers/iommu/of_iommu.c"
        },
        "id": "CVE-2023-52455-622638f6",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bb57f6705960bebeb832142ce9abf43220c3eab1",
        "signature_type": "Line"
    },
    {
        "signature_version": "v1",
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "11422911723715983063687084984174408170",
                "260041912613059797869264919054149295438",
                "126381895853040639734137157742551841919",
                "182289715756828101756102850620699082893"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "drivers/iommu/of_iommu.c"
        },
        "id": "CVE-2023-52455-a490cc16",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@98b8a550da83cc392a14298c4b3eaaf0332ae6ad",
        "signature_type": "Line"
    },
    {
        "signature_version": "v1",
        "deprecated": false,
        "digest": {
            "function_hash": "308156761060002293492477580207011626455",
            "length": 1116.0
        },
        "target": {
            "function": "of_iommu_get_resv_regions",
            "file": "drivers/iommu/of_iommu.c"
        },
        "id": "CVE-2023-52455-b02a969f",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bb57f6705960bebeb832142ce9abf43220c3eab1",
        "signature_type": "Function"
    },
    {
        "signature_version": "v1",
        "deprecated": false,
        "digest": {
            "function_hash": "308156761060002293492477580207011626455",
            "length": 1116.0
        },
        "target": {
            "function": "of_iommu_get_resv_regions",
            "file": "drivers/iommu/of_iommu.c"
        },
        "id": "CVE-2023-52455-d342459e",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5e23e283910c9f30248732ae0770bcb0c9438abf",
        "signature_type": "Function"
    },
    {
        "signature_version": "v1",
        "deprecated": false,
        "digest": {
            "function_hash": "308156761060002293492477580207011626455",
            "length": 1116.0
        },
        "target": {
            "function": "of_iommu_get_resv_regions",
            "file": "drivers/iommu/of_iommu.c"
        },
        "id": "CVE-2023-52455-e1912044",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@98b8a550da83cc392a14298c4b3eaaf0332ae6ad",
        "signature_type": "Function"
    }
]

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.3.0
Fixed
6.6.14
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.7.2