CVE-2023-52790

Source
https://nvd.nist.gov/vuln/detail/CVE-2023-52790
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-52790.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2023-52790
Downstream
Published
2024-05-21T15:31:06Z
Modified
2025-10-21T14:38:46.484966Z
Summary
swiotlb: fix out-of-bounds TLB allocations with CONFIG_SWIOTLB_DYNAMIC
Details

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

swiotlb: fix out-of-bounds TLB allocations with CONFIGSWIOTLBDYNAMIC

Limit the free list length to the size of the IO TLB. Transient pool can be smaller than IOTLBSEGSIZE, but the free list is initialized with the assumption that the total number of slots is a multiple of IOTLBSEGSIZE. As a result, swiotlbareafind_slots() may allocate slots past the end of a transient IO TLB buffer.

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
79636caad3618e2b38457f6e298c9b31ba82b489
Fixed
ce7612496a4ba6068bc68aa1fa9d947dadb4ad9b
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
79636caad3618e2b38457f6e298c9b31ba82b489
Fixed
53c87e846e335e3c18044c397cc35178163d7827

Affected versions

v6.*

v6.5
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.2

Database specific

vanir_signatures

[
    {
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ce7612496a4ba6068bc68aa1fa9d947dadb4ad9b",
        "id": "CVE-2023-52790-2c59cbb9",
        "digest": {
            "line_hashes": [
                "118155903717932486823334098102823936232",
                "89988082935279554481191344501855603455",
                "200667322890943985381730005526360718967",
                "74614787081269845625586028380470592621"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "kernel/dma/swiotlb.c"
        },
        "signature_type": "Line",
        "signature_version": "v1"
    },
    {
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@53c87e846e335e3c18044c397cc35178163d7827",
        "id": "CVE-2023-52790-5bc60d17",
        "digest": {
            "line_hashes": [
                "118155903717932486823334098102823936232",
                "89988082935279554481191344501855603455",
                "200667322890943985381730005526360718967",
                "74614787081269845625586028380470592621"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "kernel/dma/swiotlb.c"
        },
        "signature_type": "Line",
        "signature_version": "v1"
    },
    {
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ce7612496a4ba6068bc68aa1fa9d947dadb4ad9b",
        "id": "CVE-2023-52790-7742d7e6",
        "digest": {
            "function_hash": "56904459224019851517378224320255593884",
            "length": 839.0
        },
        "target": {
            "function": "swiotlb_init_io_tlb_pool",
            "file": "kernel/dma/swiotlb.c"
        },
        "signature_type": "Function",
        "signature_version": "v1"
    },
    {
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@53c87e846e335e3c18044c397cc35178163d7827",
        "id": "CVE-2023-52790-c9a02637",
        "digest": {
            "function_hash": "56904459224019851517378224320255593884",
            "length": 839.0
        },
        "target": {
            "function": "swiotlb_init_io_tlb_pool",
            "file": "kernel/dma/swiotlb.c"
        },
        "signature_type": "Function",
        "signature_version": "v1"
    }
]

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.6.0
Fixed
6.6.3