CVE-2024-36896

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-36896
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-36896.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-36896
Downstream
Related
Published
2024-05-30T15:29:00Z
Modified
2025-10-13T17:37:55.864228Z
Severity
  • 9.1 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H CVSS Calculator
Summary
USB: core: Fix access violation during port device removal
Details

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

USB: core: Fix access violation during port device removal

Testing with KASAN and syzkaller revealed a bug in port.c:disablestore(): usbhubtostruct_hub() can return NULL if the hub that the port belongs to is concurrently removed, but the function does not check for this possibility before dereferencing the returned value.

It turns out that the first dereference is unnecessary, since hub->intfdev is the parent of the port device, so it can be changed easily. Adding a check for hub == NULL prevents further problems.

The same bug exists in the disable_show() routine, and it can be fixed the same way.

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
f061f43d7418cb62b8d073e221ec75d3f5b89e17
Fixed
5f1d68ef5ddac27c6b997adccd1c339cef1e6848
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
f061f43d7418cb62b8d073e221ec75d3f5b89e17
Fixed
63533549ff53d24daf47c443dbd43c308afc3434
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
f061f43d7418cb62b8d073e221ec75d3f5b89e17
Fixed
6119ef6517ce501fc548154691abdaf1f954a277
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
f061f43d7418cb62b8d073e221ec75d3f5b89e17
Fixed
a4b46d450c49f32e9d4247b421e58083fde304ce

Affected versions

v5.*

v5.19
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.87
v6.1.88
v6.1.89
v6.1.9
v6.1.90
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.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.8.7
v6.8.8
v6.8.9
v6.9-rc1
v6.9-rc2
v6.9-rc3
v6.9-rc4
v6.9-rc5

Database specific

{
    "vanir_signatures": [
        {
            "target": {
                "file": "drivers/usb/core/port.c"
            },
            "deprecated": false,
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "169883757567198094698236684475796758301",
                    "222058828940646139094243305475453056716",
                    "149916037562659817003933783169467535909",
                    "173677136519895368174081077929945143489",
                    "124124045036899436569161070295595321865",
                    "48765797176060082108205280052865887545",
                    "155161784940811531557243725177255250650",
                    "243987659226637505323556708391667752391",
                    "161629559358935872697663485965859571139",
                    "169883757567198094698236684475796758301",
                    "222058828940646139094243305475453056716",
                    "82654626118173529337025486078148340522",
                    "240926079715357974461884545839157582378",
                    "283631919912486447434976585744667170741",
                    "289216972937436973057000530244814516984",
                    "228963457147388719720204705480622862629",
                    "259246829250205567076252755403902325409"
                ]
            },
            "id": "CVE-2024-36896-1e04a786",
            "signature_type": "Line",
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@63533549ff53d24daf47c443dbd43c308afc3434"
        },
        {
            "target": {
                "function": "disable_show",
                "file": "drivers/usb/core/port.c"
            },
            "deprecated": false,
            "digest": {
                "length": 873.0,
                "function_hash": "81019646844778198377840961890149799271"
            },
            "id": "CVE-2024-36896-68d89edc",
            "signature_type": "Function",
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5f1d68ef5ddac27c6b997adccd1c339cef1e6848"
        },
        {
            "target": {
                "function": "disable_show",
                "file": "drivers/usb/core/port.c"
            },
            "deprecated": false,
            "digest": {
                "length": 873.0,
                "function_hash": "81019646844778198377840961890149799271"
            },
            "id": "CVE-2024-36896-70eca337",
            "signature_type": "Function",
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a4b46d450c49f32e9d4247b421e58083fde304ce"
        },
        {
            "target": {
                "function": "disable_store",
                "file": "drivers/usb/core/port.c"
            },
            "deprecated": false,
            "digest": {
                "length": 1072.0,
                "function_hash": "246346263945690211599174311130827990780"
            },
            "id": "CVE-2024-36896-93ac14e3",
            "signature_type": "Function",
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@63533549ff53d24daf47c443dbd43c308afc3434"
        },
        {
            "target": {
                "file": "drivers/usb/core/port.c"
            },
            "deprecated": false,
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "169883757567198094698236684475796758301",
                    "222058828940646139094243305475453056716",
                    "149916037562659817003933783169467535909",
                    "173677136519895368174081077929945143489",
                    "124124045036899436569161070295595321865",
                    "48765797176060082108205280052865887545",
                    "155161784940811531557243725177255250650",
                    "243987659226637505323556708391667752391",
                    "161629559358935872697663485965859571139",
                    "169883757567198094698236684475796758301",
                    "222058828940646139094243305475453056716",
                    "82654626118173529337025486078148340522",
                    "240926079715357974461884545839157582378",
                    "283631919912486447434976585744667170741",
                    "289216972937436973057000530244814516984",
                    "228963457147388719720204705480622862629",
                    "259246829250205567076252755403902325409"
                ]
            },
            "id": "CVE-2024-36896-9f60d850",
            "signature_type": "Line",
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6119ef6517ce501fc548154691abdaf1f954a277"
        },
        {
            "target": {
                "file": "drivers/usb/core/port.c"
            },
            "deprecated": false,
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "169883757567198094698236684475796758301",
                    "222058828940646139094243305475453056716",
                    "149916037562659817003933783169467535909",
                    "173677136519895368174081077929945143489",
                    "124124045036899436569161070295595321865",
                    "48765797176060082108205280052865887545",
                    "155161784940811531557243725177255250650",
                    "243987659226637505323556708391667752391",
                    "161629559358935872697663485965859571139",
                    "169883757567198094698236684475796758301",
                    "222058828940646139094243305475453056716",
                    "82654626118173529337025486078148340522",
                    "240926079715357974461884545839157582378",
                    "283631919912486447434976585744667170741",
                    "289216972937436973057000530244814516984",
                    "228963457147388719720204705480622862629",
                    "259246829250205567076252755403902325409"
                ]
            },
            "id": "CVE-2024-36896-a8891846",
            "signature_type": "Line",
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a4b46d450c49f32e9d4247b421e58083fde304ce"
        },
        {
            "target": {
                "function": "disable_store",
                "file": "drivers/usb/core/port.c"
            },
            "deprecated": false,
            "digest": {
                "length": 1072.0,
                "function_hash": "246346263945690211599174311130827990780"
            },
            "id": "CVE-2024-36896-a9c50371",
            "signature_type": "Function",
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a4b46d450c49f32e9d4247b421e58083fde304ce"
        },
        {
            "target": {
                "function": "disable_store",
                "file": "drivers/usb/core/port.c"
            },
            "deprecated": false,
            "digest": {
                "length": 1072.0,
                "function_hash": "246346263945690211599174311130827990780"
            },
            "id": "CVE-2024-36896-b0c5c04e",
            "signature_type": "Function",
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5f1d68ef5ddac27c6b997adccd1c339cef1e6848"
        },
        {
            "target": {
                "function": "disable_show",
                "file": "drivers/usb/core/port.c"
            },
            "deprecated": false,
            "digest": {
                "length": 873.0,
                "function_hash": "81019646844778198377840961890149799271"
            },
            "id": "CVE-2024-36896-b8fd6a34",
            "signature_type": "Function",
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6119ef6517ce501fc548154691abdaf1f954a277"
        },
        {
            "target": {
                "function": "disable_store",
                "file": "drivers/usb/core/port.c"
            },
            "deprecated": false,
            "digest": {
                "length": 1072.0,
                "function_hash": "246346263945690211599174311130827990780"
            },
            "id": "CVE-2024-36896-bbd33e44",
            "signature_type": "Function",
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6119ef6517ce501fc548154691abdaf1f954a277"
        },
        {
            "target": {
                "file": "drivers/usb/core/port.c"
            },
            "deprecated": false,
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "169883757567198094698236684475796758301",
                    "222058828940646139094243305475453056716",
                    "149916037562659817003933783169467535909",
                    "173677136519895368174081077929945143489",
                    "124124045036899436569161070295595321865",
                    "48765797176060082108205280052865887545",
                    "155161784940811531557243725177255250650",
                    "243987659226637505323556708391667752391",
                    "161629559358935872697663485965859571139",
                    "169883757567198094698236684475796758301",
                    "222058828940646139094243305475453056716",
                    "82654626118173529337025486078148340522",
                    "240926079715357974461884545839157582378",
                    "283631919912486447434976585744667170741",
                    "124908248485857341775804522982959793983",
                    "257303509926173403337338521068036731476",
                    "15292692320452309746565586431486387735"
                ]
            },
            "id": "CVE-2024-36896-e379c75d",
            "signature_type": "Line",
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5f1d68ef5ddac27c6b997adccd1c339cef1e6848"
        },
        {
            "target": {
                "function": "disable_show",
                "file": "drivers/usb/core/port.c"
            },
            "deprecated": false,
            "digest": {
                "length": 873.0,
                "function_hash": "81019646844778198377840961890149799271"
            },
            "id": "CVE-2024-36896-fc9abe31",
            "signature_type": "Function",
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@63533549ff53d24daf47c443dbd43c308afc3434"
        }
    ]
}

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.0.0
Fixed
6.1.91
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.31
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.8.10