CVE-2024-35952

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-35952
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-35952.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2024-35952
Downstream
Related
Published
2024-05-20T09:41:46Z
Modified
2025-10-15T11:08:47.716740Z
Summary
drm/ast: Fix soft lockup
Details

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

drm/ast: Fix soft lockup

There is a while-loop in astdpsetonoff() that could lead to infinite-loop. This is because the register, VGACRI-Dx, checked in this API is a scratch register actually controlled by a MCU, named DPMCU, in BMC.

These scratch registers are protected by scu-lock. If suc-lock is not off, DPMCU can not update these registers and then host will have soft lockup due to never updated status.

DPMCU is used to control DP and relative registers to handshake with host's VGA driver. Even the most time-consuming task, DP's link training, is less than 100ms. 200ms should be enough.

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
594e9c04b5864b4b8b151ef4ba9521c59e0f5c54
Fixed
8a6fea3fcb577a543ef67683ca7105bde49a38fb
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
594e9c04b5864b4b8b151ef4ba9521c59e0f5c54
Fixed
a81b2acd43e24e419f65df97348c76a5a1496066
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
594e9c04b5864b4b8b151ef4ba9521c59e0f5c54
Fixed
35768baf0fdfc47ede42d899506bad78450e9294
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
594e9c04b5864b4b8b151ef4ba9521c59e0f5c54
Fixed
bc004f5038220b1891ef4107134ccae44be55109

Affected versions

v5.*

v5.18
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.11
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.9
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.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.8
v6.8-rc1
v6.8-rc2
v6.8-rc3
v6.8-rc4
v6.8-rc5
v6.8-rc6
v6.8-rc7
v6.8.1
v6.8.2
v6.8.3
v6.8.4
v6.8.5
v6.8.6
v6.9-rc1

Database specific

vanir_signatures

[
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bc004f5038220b1891ef4107134ccae44be55109",
        "signature_version": "v1",
        "target": {
            "file": "drivers/gpu/drm/ast/ast_dp.c"
        },
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "95245260824175233738712195021990898519",
                "320189185720681277549599687187579908990",
                "248399897843696746604837133759870010520",
                "240139632976887738220339654089101928369",
                "71338926150541332529644620780104282693",
                "8159187108317102152159328929281739923",
                "308807232981146682968278391060286581481",
                "137249262248943203631258459462882021117"
            ]
        },
        "deprecated": false,
        "signature_type": "Line",
        "id": "CVE-2024-35952-25003a2b"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8a6fea3fcb577a543ef67683ca7105bde49a38fb",
        "signature_version": "v1",
        "target": {
            "file": "drivers/gpu/drm/ast/ast_dp.c"
        },
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "23401885746070401116207841994962438917",
                "314160031166025444404836301058137921149",
                "10182849476308235886115662696829825831",
                "284369358142439628650321247029743446738",
                "295129227329286638368263794226411202831",
                "182633449909516472732963051940820594703",
                "308807232981146682968278391060286581481",
                "137249262248943203631258459462882021117"
            ]
        },
        "deprecated": false,
        "signature_type": "Line",
        "id": "CVE-2024-35952-7a90a4a2"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bc004f5038220b1891ef4107134ccae44be55109",
        "signature_version": "v1",
        "target": {
            "file": "drivers/gpu/drm/ast/ast_dp.c",
            "function": "ast_dp_set_on_off"
        },
        "digest": {
            "length": 433.0,
            "function_hash": "184326489021422093434888181267838981759"
        },
        "deprecated": false,
        "signature_type": "Function",
        "id": "CVE-2024-35952-90a9dd70"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a81b2acd43e24e419f65df97348c76a5a1496066",
        "signature_version": "v1",
        "target": {
            "file": "drivers/gpu/drm/ast/ast_dp.c"
        },
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "95245260824175233738712195021990898519",
                "226338918636384039415412171217341151323",
                "82933653653714868925307170999333764321",
                "284369358142439628650321247029743446738",
                "295129227329286638368263794226411202831",
                "182633449909516472732963051940820594703",
                "308807232981146682968278391060286581481",
                "137249262248943203631258459462882021117"
            ]
        },
        "deprecated": false,
        "signature_type": "Line",
        "id": "CVE-2024-35952-91c0d3d3"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@35768baf0fdfc47ede42d899506bad78450e9294",
        "signature_version": "v1",
        "target": {
            "file": "drivers/gpu/drm/ast/ast_dp.c"
        },
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "95245260824175233738712195021990898519",
                "320189185720681277549599687187579908990",
                "248399897843696746604837133759870010520",
                "240139632976887738220339654089101928369",
                "71338926150541332529644620780104282693",
                "8159187108317102152159328929281739923",
                "308807232981146682968278391060286581481",
                "137249262248943203631258459462882021117"
            ]
        },
        "deprecated": false,
        "signature_type": "Line",
        "id": "CVE-2024-35952-dcfad3b3"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@35768baf0fdfc47ede42d899506bad78450e9294",
        "signature_version": "v1",
        "target": {
            "file": "drivers/gpu/drm/ast/ast_dp.c",
            "function": "ast_dp_set_on_off"
        },
        "digest": {
            "length": 433.0,
            "function_hash": "184326489021422093434888181267838981759"
        },
        "deprecated": false,
        "signature_type": "Function",
        "id": "CVE-2024-35952-ebe05de9"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8a6fea3fcb577a543ef67683ca7105bde49a38fb",
        "signature_version": "v1",
        "target": {
            "file": "drivers/gpu/drm/ast/ast_dp.c",
            "function": "ast_dp_set_on_off"
        },
        "digest": {
            "length": 445.0,
            "function_hash": "319963297328540582315784216935961358729"
        },
        "deprecated": false,
        "signature_type": "Function",
        "id": "CVE-2024-35952-f86574fc"
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a81b2acd43e24e419f65df97348c76a5a1496066",
        "signature_version": "v1",
        "target": {
            "file": "drivers/gpu/drm/ast/ast_dp.c",
            "function": "ast_dp_set_on_off"
        },
        "digest": {
            "length": 445.0,
            "function_hash": "319963297328540582315784216935961358729"
        },
        "deprecated": false,
        "signature_type": "Function",
        "id": "CVE-2024-35952-fc3c020c"
    }
]

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.19.0
Fixed
6.1.87
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.28
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.8.7