CVE-2024-47727

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-47727
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-47727.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2024-47727
Downstream
Related
Published
2024-10-21T12:14:00Z
Modified
2025-10-15T16:23:35.269465Z
Summary
x86/tdx: Fix "in-kernel MMIO" check
Details

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

x86/tdx: Fix "in-kernel MMIO" check

TDX only supports kernel-initiated MMIO operations. The handle_mmio() function checks if the #VE exception occurred in the kernel and rejects the operation if it did not.

However, userspace can deceive the kernel into performing MMIO on its behalf. For example, if userspace can point a syscall to an MMIO address, syscall does getuser() or putuser() on it, triggering MMIO #VE. The kernel will treat the #VE as in-kernel MMIO.

Ensure that the target MMIO address is within the kernel before decoding instruction.

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
31d58c4e557d46fa7f8557714250fb6f89c941ae
Fixed
25703a3c980e21548774eea8c8a87a75c5c8f58c
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
31d58c4e557d46fa7f8557714250fb6f89c941ae
Fixed
4c0c5dcb5471de5fc8f0a1c4980e5815339e1cee
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
31d58c4e557d46fa7f8557714250fb6f89c941ae
Fixed
18ecd5b74682839e7cdafb7cd1ec106df7baa18c
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
31d58c4e557d46fa7f8557714250fb6f89c941ae
Fixed
bca2e29f7e26ce7c3522f8b324c0bd85612f68e3
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
31d58c4e557d46fa7f8557714250fb6f89c941ae
Fixed
d4fc4d01471528da8a9797a065982e05090e1d81

Affected versions

v5.*

v5.18
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": [
        {
            "signature_version": "v1",
            "signature_type": "Line",
            "target": {
                "file": "arch/x86/coco/tdx/tdx.c"
            },
            "id": "CVE-2024-47727-048d4089",
            "digest": {
                "line_hashes": [
                    "122385512602933487518830873783640964123",
                    "282106333341760788016738871094417225385",
                    "16818935529364300324015723763229193299",
                    "161824241587000359043582546107581393738",
                    "57563036316970958652005095151513108793",
                    "12737281661934228521680337190808719643",
                    "126228725624340640864623787595333332765"
                ],
                "threshold": 0.9
            },
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bca2e29f7e26ce7c3522f8b324c0bd85612f68e3"
        },
        {
            "signature_version": "v1",
            "signature_type": "Function",
            "target": {
                "file": "arch/x86/coco/tdx/tdx.c",
                "function": "handle_mmio"
            },
            "id": "CVE-2024-47727-5babeda9",
            "digest": {
                "length": 1824.0,
                "function_hash": "109438881305018231890621790562945701248"
            },
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25703a3c980e21548774eea8c8a87a75c5c8f58c"
        },
        {
            "signature_version": "v1",
            "signature_type": "Function",
            "target": {
                "file": "arch/x86/coco/tdx/tdx.c",
                "function": "handle_mmio"
            },
            "id": "CVE-2024-47727-763d9c86",
            "digest": {
                "length": 1889.0,
                "function_hash": "38558636830596302405944235086692241023"
            },
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@18ecd5b74682839e7cdafb7cd1ec106df7baa18c"
        },
        {
            "signature_version": "v1",
            "signature_type": "Line",
            "target": {
                "file": "arch/x86/coco/tdx/tdx.c"
            },
            "id": "CVE-2024-47727-850dce7f",
            "digest": {
                "line_hashes": [
                    "92627318323006023015775048661508643811",
                    "223083126531036330190447971190038593559",
                    "142841427320096018214756282490843160336",
                    "267868491399620188224422513038734500312",
                    "57563036316970958652005095151513108793",
                    "12737281661934228521680337190808719643",
                    "126228725624340640864623787595333332765"
                ],
                "threshold": 0.9
            },
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25703a3c980e21548774eea8c8a87a75c5c8f58c"
        },
        {
            "signature_version": "v1",
            "signature_type": "Line",
            "target": {
                "file": "arch/x86/coco/tdx/tdx.c"
            },
            "id": "CVE-2024-47727-8579bcff",
            "digest": {
                "line_hashes": [
                    "122385512602933487518830873783640964123",
                    "282106333341760788016738871094417225385",
                    "16818935529364300324015723763229193299",
                    "161824241587000359043582546107581393738",
                    "57563036316970958652005095151513108793",
                    "12737281661934228521680337190808719643",
                    "126228725624340640864623787595333332765"
                ],
                "threshold": 0.9
            },
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@18ecd5b74682839e7cdafb7cd1ec106df7baa18c"
        },
        {
            "signature_version": "v1",
            "signature_type": "Function",
            "target": {
                "file": "arch/x86/coco/tdx/tdx.c",
                "function": "handle_mmio"
            },
            "id": "CVE-2024-47727-89a1d6ed",
            "digest": {
                "length": 1889.0,
                "function_hash": "38558636830596302405944235086692241023"
            },
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d4fc4d01471528da8a9797a065982e05090e1d81"
        },
        {
            "signature_version": "v1",
            "signature_type": "Function",
            "target": {
                "file": "arch/x86/coco/tdx/tdx.c",
                "function": "handle_mmio"
            },
            "id": "CVE-2024-47727-ac396cae",
            "digest": {
                "length": 1889.0,
                "function_hash": "38558636830596302405944235086692241023"
            },
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bca2e29f7e26ce7c3522f8b324c0bd85612f68e3"
        },
        {
            "signature_version": "v1",
            "signature_type": "Line",
            "target": {
                "file": "arch/x86/coco/tdx/tdx.c"
            },
            "id": "CVE-2024-47727-b107ddf7",
            "digest": {
                "line_hashes": [
                    "122385512602933487518830873783640964123",
                    "282106333341760788016738871094417225385",
                    "16818935529364300324015723763229193299",
                    "161824241587000359043582546107581393738",
                    "57563036316970958652005095151513108793",
                    "12737281661934228521680337190808719643",
                    "126228725624340640864623787595333332765"
                ],
                "threshold": 0.9
            },
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d4fc4d01471528da8a9797a065982e05090e1d81"
        }
    ]
}

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.19.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