CVE-2022-50388

Source
https://nvd.nist.gov/vuln/detail/CVE-2022-50388
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-50388.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2022-50388
Downstream
Related
Published
2025-09-18T13:33:08Z
Modified
2025-10-21T13:13:47.218707Z
Summary
nvme: fix multipath crash caused by flush request when blktrace is enabled
Details

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

nvme: fix multipath crash caused by flush request when blktrace is enabled

The flush request initialized by blkkickflush has NULL bio, and it may be dealt with nvmeendreq during io completion. When blktrace is enabled, nvmetracebio_complete with multipath activated trying to access NULL pointer bio from flush request results in the following crash:

[ 2517.831677] BUG: kernel NULL pointer dereference, address: 000000000000001a [ 2517.835213] #PF: supervisor read access in kernel mode [ 2517.838724] #PF: errorcode(0x0000) - not-present page [ 2517.842222] PGD 7b2d51067 P4D 0 [ 2517.845684] Oops: 0000 [#1] SMP NOPTI [ 2517.849125] CPU: 2 PID: 732 Comm: kworker/2:1H Kdump: loaded Tainted: G S 5.15.67-0.cl9.x8664 #1 [ 2517.852723] Hardware name: XFUSION 2288H V6/BC13MBSBC, BIOS 1.13 07/27/2022 [ 2517.856358] Workqueue: nvmetcpwq nvmetcpiowork [nvmetcp] [ 2517.859993] RIP: 0010:blkaddtracebiocomplete+0x6/0x30 [ 2517.863628] Code: 1f 44 00 00 48 8b 46 08 31 c9 ba 04 00 10 00 48 8b 80 50 03 00 00 48 8b 78 50 e9 e5 fe ff ff 0f 1f 44 00 00 41 54 49 89 f4 55 <0f> b6 7a 1a 48 89 d5 e8 3e 1c 2b 00 48 89 ee 4c 89 e7 5d 89 c1 ba [ 2517.871269] RSP: 0018:ff7f6a008d9dbcd0 EFLAGS: 00010286 [ 2517.875081] RAX: ff3d5b4be00b1d50 RBX: 0000000002040002 RCX: ff3d5b0a270f2000 [ 2517.878966] RDX: 0000000000000000 RSI: ff3d5b0b021fb9f8 RDI: 0000000000000000 [ 2517.882849] RBP: ff3d5b0b96a6fa00 R08: 0000000000000001 R09: 0000000000000000 [ 2517.886718] R10: 000000000000000c R11: 000000000000000c R12: ff3d5b0b021fb9f8 [ 2517.890575] R13: 0000000002000000 R14: ff3d5b0b021fb1b0 R15: 0000000000000018 [ 2517.894434] FS: 0000000000000000(0000) GS:ff3d5b42bfc80000(0000) knlGS:0000000000000000 [ 2517.898299] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 2517.902157] CR2: 000000000000001a CR3: 00000004f023e005 CR4: 0000000000771ee0 [ 2517.906053] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 2517.909930] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 2517.913761] PKRU: 55555554 [ 2517.917558] Call Trace: [ 2517.921294] <TASK> [ 2517.924982] nvmecompleterq+0x1c3/0x1e0 [nvmecore] [ 2517.928715] nvmetcprecvpdu+0x4d7/0x540 [nvmetcp] [ 2517.932442] nvmetcprecvskb+0x4f/0x240 [nvmetcp] [ 2517.936137] ? nvmetcprecvpdu+0x540/0x540 [nvmetcp] [ 2517.939830] tcpreadsock+0x9c/0x260 [ 2517.943486] nvmetcptryrecv+0x65/0xa0 [nvmetcp] [ 2517.947173] nvmetcpiowork+0x64/0x90 [nvmetcp] [ 2517.950834] processonework+0x1e8/0x390 [ 2517.954473] workerthread+0x53/0x3c0 [ 2517.958069] ? processonework+0x390/0x390 [ 2517.961655] kthread+0x10c/0x130 [ 2517.965211] ? setkthreadstruct+0x40/0x40 [ 2517.968760] retfromfork+0x1f/0x30 [ 2517.972285] </TASK>

To avoid this situation, add a NULL check for req->bio before calling traceblockbio_complete.

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
35fe0d12c8a3d5e45f297562732ddc9ba9dc58dd
Fixed
f13301a69ababa6c2236fb4f0393b7e914e7e1e0
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
35fe0d12c8a3d5e45f297562732ddc9ba9dc58dd
Fixed
4df413d46960f11c8c105238cfc3f5ff4c95c003
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
35fe0d12c8a3d5e45f297562732ddc9ba9dc58dd
Fixed
fcd2d199486033223e9b2a6a7f9a01dd0327eac3
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
35fe0d12c8a3d5e45f297562732ddc9ba9dc58dd
Fixed
183c2aaef40a91acbaae45c3824d6cde7bb62b10
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
35fe0d12c8a3d5e45f297562732ddc9ba9dc58dd
Fixed
3659fb5ac29a5e6102bebe494ac789fd47fb78f4

Affected versions

v5.*

v5.10
v5.10-rc1
v5.10-rc2
v5.10-rc3
v5.10-rc4
v5.10-rc5
v5.10-rc6
v5.10-rc7
v5.10.1
v5.10.10
v5.10.100
v5.10.101
v5.10.102
v5.10.103
v5.10.104
v5.10.105
v5.10.106
v5.10.107
v5.10.108
v5.10.109
v5.10.11
v5.10.110
v5.10.111
v5.10.112
v5.10.113
v5.10.114
v5.10.115
v5.10.116
v5.10.117
v5.10.118
v5.10.119
v5.10.12
v5.10.120
v5.10.121
v5.10.122
v5.10.123
v5.10.124
v5.10.125
v5.10.126
v5.10.127
v5.10.128
v5.10.129
v5.10.13
v5.10.130
v5.10.131
v5.10.132
v5.10.133
v5.10.134
v5.10.135
v5.10.136
v5.10.137
v5.10.138
v5.10.139
v5.10.14
v5.10.140
v5.10.141
v5.10.142
v5.10.143
v5.10.144
v5.10.145
v5.10.146
v5.10.147
v5.10.148
v5.10.149
v5.10.15
v5.10.150
v5.10.151
v5.10.152
v5.10.153
v5.10.154
v5.10.155
v5.10.156
v5.10.157
v5.10.158
v5.10.159
v5.10.16
v5.10.160
v5.10.161
v5.10.162
v5.10.17
v5.10.18
v5.10.19
v5.10.2
v5.10.20
v5.10.21
v5.10.22
v5.10.23
v5.10.24
v5.10.25
v5.10.26
v5.10.27
v5.10.28
v5.10.29
v5.10.3
v5.10.30
v5.10.31
v5.10.32
v5.10.33
v5.10.34
v5.10.35
v5.10.36
v5.10.37
v5.10.38
v5.10.39
v5.10.4
v5.10.40
v5.10.41
v5.10.42
v5.10.43
v5.10.44
v5.10.45
v5.10.46
v5.10.47
v5.10.48
v5.10.49
v5.10.5
v5.10.50
v5.10.51
v5.10.52
v5.10.53
v5.10.54
v5.10.55
v5.10.56
v5.10.57
v5.10.58
v5.10.59
v5.10.6
v5.10.60
v5.10.61
v5.10.62
v5.10.63
v5.10.64
v5.10.65
v5.10.66
v5.10.67
v5.10.68
v5.10.69
v5.10.7
v5.10.70
v5.10.71
v5.10.72
v5.10.73
v5.10.74
v5.10.75
v5.10.76
v5.10.77
v5.10.78
v5.10.79
v5.10.8
v5.10.80
v5.10.81
v5.10.82
v5.10.83
v5.10.84
v5.10.85
v5.10.86
v5.10.87
v5.10.88
v5.10.89
v5.10.9
v5.10.90
v5.10.91
v5.10.92
v5.10.93
v5.10.94
v5.10.95
v5.10.96
v5.10.97
v5.10.98
v5.10.99
v5.11
v5.11-rc1
v5.11-rc2
v5.11-rc3
v5.11-rc4
v5.11-rc5
v5.11-rc6
v5.11-rc7
v5.12
v5.12-rc1
v5.12-rc1-dontuse
v5.12-rc2
v5.12-rc3
v5.12-rc4
v5.12-rc5
v5.12-rc6
v5.12-rc7
v5.12-rc8
v5.13
v5.13-rc1
v5.13-rc2
v5.13-rc3
v5.13-rc4
v5.13-rc5
v5.13-rc6
v5.13-rc7
v5.14
v5.14-rc1
v5.14-rc2
v5.14-rc3
v5.14-rc4
v5.14-rc5
v5.14-rc6
v5.14-rc7
v5.15
v5.15-rc1
v5.15-rc2
v5.15-rc3
v5.15-rc4
v5.15-rc5
v5.15-rc6
v5.15-rc7
v5.15.1
v5.15.10
v5.15.11
v5.15.12
v5.15.13
v5.15.14
v5.15.15
v5.15.16
v5.15.17
v5.15.18
v5.15.19
v5.15.2
v5.15.20
v5.15.21
v5.15.22
v5.15.23
v5.15.24
v5.15.25
v5.15.26
v5.15.27
v5.15.28
v5.15.29
v5.15.3
v5.15.30
v5.15.31
v5.15.32
v5.15.33
v5.15.34
v5.15.35
v5.15.36
v5.15.37
v5.15.38
v5.15.39
v5.15.4
v5.15.40
v5.15.41
v5.15.42
v5.15.43
v5.15.44
v5.15.45
v5.15.46
v5.15.47
v5.15.48
v5.15.49
v5.15.5
v5.15.50
v5.15.51
v5.15.52
v5.15.53
v5.15.54
v5.15.55
v5.15.56
v5.15.57
v5.15.58
v5.15.59
v5.15.6
v5.15.60
v5.15.61
v5.15.62
v5.15.63
v5.15.64
v5.15.65
v5.15.66
v5.15.67
v5.15.68
v5.15.69
v5.15.7
v5.15.70
v5.15.71
v5.15.72
v5.15.73
v5.15.74
v5.15.75
v5.15.76
v5.15.77
v5.15.78
v5.15.79
v5.15.8
v5.15.80
v5.15.81
v5.15.82
v5.15.83
v5.15.84
v5.15.85
v5.15.86
v5.15.9
v5.16
v5.16-rc1
v5.16-rc2
v5.16-rc3
v5.16-rc4
v5.16-rc5
v5.16-rc6
v5.16-rc7
v5.16-rc8
v5.17
v5.17-rc1
v5.17-rc2
v5.17-rc3
v5.17-rc4
v5.17-rc5
v5.17-rc6
v5.17-rc7
v5.17-rc8
v5.18
v5.18-rc1
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
v5.3
v5.3-rc4
v5.3-rc5
v5.3-rc6
v5.3-rc7
v5.3-rc8
v5.4
v5.4-rc1
v5.4-rc2
v5.4-rc3
v5.4-rc4
v5.4-rc5
v5.4-rc6
v5.4-rc7
v5.4-rc8
v5.5
v5.5-rc1
v5.5-rc2
v5.5-rc3
v5.5-rc4
v5.5-rc5
v5.5-rc6
v5.5-rc7
v5.6
v5.6-rc1
v5.6-rc2
v5.6-rc3
v5.6-rc4
v5.6-rc5
v5.6-rc6
v5.6-rc7
v5.7
v5.7-rc1
v5.7-rc2
v5.7-rc3
v5.7-rc4
v5.7-rc5
v5.7-rc6
v5.7-rc7
v5.8
v5.8-rc1
v5.8-rc2
v5.8-rc3
v5.8-rc4
v5.8-rc5
v5.8-rc6
v5.8-rc7
v5.9
v5.9-rc1
v5.9-rc2
v5.9-rc3
v5.9-rc4
v5.9-rc5
v5.9-rc6
v5.9-rc7
v5.9-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.0.1
v6.0.10
v6.0.11
v6.0.12
v6.0.13
v6.0.14
v6.0.15
v6.0.16
v6.0.17
v6.0.18
v6.0.2
v6.0.3
v6.0.4
v6.0.5
v6.0.6
v6.0.7
v6.0.8
v6.0.9
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.2
v6.1.3
v6.1.4

Database specific

vanir_signatures

[
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3659fb5ac29a5e6102bebe494ac789fd47fb78f4",
        "id": "CVE-2022-50388-0a42f56a",
        "signature_type": "Function",
        "signature_version": "v1",
        "digest": {
            "function_hash": "28245241975244745283042385163772396046",
            "length": 192.0
        },
        "deprecated": false,
        "target": {
            "file": "drivers/nvme/host/nvme.h",
            "function": "nvme_trace_bio_complete"
        }
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f13301a69ababa6c2236fb4f0393b7e914e7e1e0",
        "id": "CVE-2022-50388-602c0092",
        "signature_type": "Line",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "279299363892276252943794702740885618754",
                "256828504943835915439208668424940761944",
                "329339592063984601246421991799035643915",
                "235432595537818736950647662640560019087"
            ],
            "threshold": 0.9
        },
        "deprecated": false,
        "target": {
            "file": "drivers/nvme/host/nvme.h"
        }
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fcd2d199486033223e9b2a6a7f9a01dd0327eac3",
        "id": "CVE-2022-50388-63d23e38",
        "signature_type": "Line",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "273283542050846745615476744945897894197",
                "256828504943835915439208668424940761944",
                "329339592063984601246421991799035643915",
                "280068349776630841430137921429794817301"
            ],
            "threshold": 0.9
        },
        "deprecated": false,
        "target": {
            "file": "drivers/nvme/host/nvme.h"
        }
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4df413d46960f11c8c105238cfc3f5ff4c95c003",
        "id": "CVE-2022-50388-732f58b7",
        "signature_type": "Function",
        "signature_version": "v1",
        "digest": {
            "function_hash": "28245241975244745283042385163772396046",
            "length": 192.0
        },
        "deprecated": false,
        "target": {
            "file": "drivers/nvme/host/nvme.h",
            "function": "nvme_trace_bio_complete"
        }
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f13301a69ababa6c2236fb4f0393b7e914e7e1e0",
        "id": "CVE-2022-50388-b31de550",
        "signature_type": "Function",
        "signature_version": "v1",
        "digest": {
            "function_hash": "181263525163527539654304444201792456213",
            "length": 206.0
        },
        "deprecated": false,
        "target": {
            "file": "drivers/nvme/host/nvme.h",
            "function": "nvme_trace_bio_complete"
        }
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fcd2d199486033223e9b2a6a7f9a01dd0327eac3",
        "id": "CVE-2022-50388-c8151d12",
        "signature_type": "Function",
        "signature_version": "v1",
        "digest": {
            "function_hash": "28245241975244745283042385163772396046",
            "length": 192.0
        },
        "deprecated": false,
        "target": {
            "file": "drivers/nvme/host/nvme.h",
            "function": "nvme_trace_bio_complete"
        }
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@183c2aaef40a91acbaae45c3824d6cde7bb62b10",
        "id": "CVE-2022-50388-d537bda8",
        "signature_type": "Line",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "273283542050846745615476744945897894197",
                "256828504943835915439208668424940761944",
                "329339592063984601246421991799035643915",
                "280068349776630841430137921429794817301"
            ],
            "threshold": 0.9
        },
        "deprecated": false,
        "target": {
            "file": "drivers/nvme/host/nvme.h"
        }
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3659fb5ac29a5e6102bebe494ac789fd47fb78f4",
        "id": "CVE-2022-50388-e6a96172",
        "signature_type": "Line",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "273283542050846745615476744945897894197",
                "256828504943835915439208668424940761944",
                "329339592063984601246421991799035643915",
                "280068349776630841430137921429794817301"
            ],
            "threshold": 0.9
        },
        "deprecated": false,
        "target": {
            "file": "drivers/nvme/host/nvme.h"
        }
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4df413d46960f11c8c105238cfc3f5ff4c95c003",
        "id": "CVE-2022-50388-eedbddbd",
        "signature_type": "Line",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "273283542050846745615476744945897894197",
                "256828504943835915439208668424940761944",
                "329339592063984601246421991799035643915",
                "235432595537818736950647662640560019087"
            ],
            "threshold": 0.9
        },
        "deprecated": false,
        "target": {
            "file": "drivers/nvme/host/nvme.h"
        }
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@183c2aaef40a91acbaae45c3824d6cde7bb62b10",
        "id": "CVE-2022-50388-feacc7d4",
        "signature_type": "Function",
        "signature_version": "v1",
        "digest": {
            "function_hash": "28245241975244745283042385163772396046",
            "length": 192.0
        },
        "deprecated": false,
        "target": {
            "file": "drivers/nvme/host/nvme.h",
            "function": "nvme_trace_bio_complete"
        }
    }
]

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.4.0
Fixed
5.10.163
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.87
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.0.19
Type
ECOSYSTEM
Events
Introduced
6.1.0
Fixed
6.1.5