CVE-2023-52787

Source
https://nvd.nist.gov/vuln/detail/CVE-2023-52787
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-52787.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2023-52787
Downstream
Related
Published
2024-05-21T15:31:04Z
Modified
2025-10-15T04:28:02.358742Z
Summary
blk-mq: make sure active queue usage is held for bio_integrity_prep()
Details

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

blk-mq: make sure active queue usage is held for biointegrityprep()

blkintegrityunregister() can come if queue usage counter isn't held for one bio with integrity prepared, so this request may be completed with calling profile->complete_fn, then kernel panic.

Another constraint is that biointegrityprep() needs to be called before bio merge.

Fix the issue by:

  • call biointegrityprep() with one queue usage counter grabbed reliably

  • call biointegrityprep() before bio merge

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
900e080752025f0016128f07c9ed4c50eba3654b
Fixed
b5c8e0ff76d10f6bf70a7237678f27c20cf59bc9
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
900e080752025f0016128f07c9ed4c50eba3654b
Fixed
e9c309ded295b7f8849097d71ae231456ca79f78
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
900e080752025f0016128f07c9ed4c50eba3654b
Fixed
b80056bd75a16e4550873ecefe12bc8fd190b1cf
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
900e080752025f0016128f07c9ed4c50eba3654b
Fixed
b0077e269f6c152e807fdac90b58caf012cdbaab

Affected versions

v5.*

v5.15
v5.15-rc7
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

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.8
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.5.1
v6.5.10
v6.5.11
v6.5.12
v6.5.2
v6.5.3
v6.5.4
v6.5.5
v6.5.6
v6.5.7
v6.5.8
v6.5.9
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
v6.7-rc1

Database specific

{
    "vanir_signatures": [
        {
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "90186791682360618367334992267616972442",
                    "303297421369387959931337669218204858670",
                    "192558856143659222074714049820781433666",
                    "265187206319116207064539680064431884249",
                    "227882602050548310485203380257934864148",
                    "187771150623155003384518341038300310076",
                    "311202013038587654566904033672163039147",
                    "186809956214588987891708889451540062085",
                    "169455106619552153893162854922567075567",
                    "313467736639788663473813959146142209659",
                    "112964045784240395692025060574691028595",
                    "68059359379873798625518284463328287471",
                    "292552394989076577966329108583553810704",
                    "221287786219308468512496188096309660800",
                    "219093599660242657975956318188831234092",
                    "165789225028367694853097433102568788879",
                    "81900989996507656255453361362297905244",
                    "117693298278167315402214670221298799472",
                    "262287525647004322662000769170745784901",
                    "227551361344574003234317907901232319952",
                    "217581480608150105453680644426202825553",
                    "80169188982668356110359669809220195641",
                    "122570953974887965342582715251588192712",
                    "166330585779663359873967732735863340722",
                    "268950637497001071692723375631987168600",
                    "140262197950456006985167362079817617609",
                    "186463529576206280779254751806772275176",
                    "309821561671649401381949956914538203620",
                    "101057052078890812840144064233325759236",
                    "173914874496991985956620440676870923525",
                    "11482403365908562578208028407416749648",
                    "207553235683566770665640362478455317940",
                    "235035562970451046209794867977171448513",
                    "31526667314986796522723385512355679953",
                    "10770247897461467001984407232733316123",
                    "25707870265753798436554328640266505199",
                    "167159664628779792716894154721812657241",
                    "141438533883331388923479777042631333248",
                    "267241808698237529850155227919715267356",
                    "161338706256407720037447748736043171534",
                    "266620367756630262194424802762568424284",
                    "147948854067806361600951821817348383760",
                    "101163125963718958080265162957380726373",
                    "118387852702184010226960443714199893578",
                    "131892216217006981849601439638095457361",
                    "77528225359813657924351064214729293682",
                    "259821985282850994949519964060055535602",
                    "105333857014009852825514519513323948932",
                    "3887393141401655166646096723727204671",
                    "100772480289484844032988974511495917255",
                    "308137024896632628451841580213571865651",
                    "276711968874456057919357331868534381900",
                    "23036224123599881203952092458269375759",
                    "188223257003941931171916384717362606630",
                    "29600315912617463301275027242585612094",
                    "154953104926148169956036875048866552789",
                    "44985388703982644741448196161645095422",
                    "164649791660364160495122579279646184998"
                ]
            },
            "target": {
                "file": "block/blk-mq.c"
            },
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b5c8e0ff76d10f6bf70a7237678f27c20cf59bc9",
            "signature_version": "v1",
            "id": "CVE-2023-52787-1227b4f8",
            "signature_type": "Line"
        },
        {
            "digest": {
                "length": 1156.0,
                "function_hash": "52902844549651751363226636338555811250"
            },
            "target": {
                "file": "block/blk-mq.c",
                "function": "blk_mq_submit_bio"
            },
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b5c8e0ff76d10f6bf70a7237678f27c20cf59bc9",
            "signature_version": "v1",
            "id": "CVE-2023-52787-413079f4",
            "signature_type": "Function"
        },
        {
            "digest": {
                "length": 639.0,
                "function_hash": "166341918775987777360902024577132529521"
            },
            "target": {
                "file": "block/blk-mq.c",
                "function": "blk_mq_get_new_requests"
            },
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b80056bd75a16e4550873ecefe12bc8fd190b1cf",
            "signature_version": "v1",
            "id": "CVE-2023-52787-702c05f2",
            "signature_type": "Function"
        },
        {
            "digest": {
                "length": 1191.0,
                "function_hash": "277503855272523834053961536650223784245"
            },
            "target": {
                "file": "block/blk-mq.c",
                "function": "blk_mq_submit_bio"
            },
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b80056bd75a16e4550873ecefe12bc8fd190b1cf",
            "signature_version": "v1",
            "id": "CVE-2023-52787-9a8bbe8b",
            "signature_type": "Function"
        },
        {
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "90186791682360618367334992267616972442",
                    "303297421369387959931337669218204858670",
                    "192558856143659222074714049820781433666",
                    "265187206319116207064539680064431884249",
                    "227882602050548310485203380257934864148",
                    "187771150623155003384518341038300310076",
                    "311202013038587654566904033672163039147",
                    "186809956214588987891708889451540062085",
                    "169455106619552153893162854922567075567",
                    "313467736639788663473813959146142209659",
                    "112964045784240395692025060574691028595",
                    "68059359379873798625518284463328287471",
                    "292552394989076577966329108583553810704",
                    "221287786219308468512496188096309660800",
                    "219093599660242657975956318188831234092",
                    "165789225028367694853097433102568788879",
                    "81900989996507656255453361362297905244",
                    "117693298278167315402214670221298799472",
                    "262287525647004322662000769170745784901",
                    "227551361344574003234317907901232319952",
                    "217581480608150105453680644426202825553",
                    "80169188982668356110359669809220195641",
                    "122570953974887965342582715251588192712",
                    "166330585779663359873967732735863340722",
                    "268950637497001071692723375631987168600",
                    "140262197950456006985167362079817617609",
                    "186463529576206280779254751806772275176",
                    "309821561671649401381949956914538203620",
                    "101057052078890812840144064233325759236",
                    "173914874496991985956620440676870923525",
                    "11482403365908562578208028407416749648",
                    "207553235683566770665640362478455317940",
                    "235035562970451046209794867977171448513",
                    "31526667314986796522723385512355679953",
                    "6414002035306815930682299207047346905",
                    "80001118970835644236167609324948933390",
                    "265409919087992901218593489386386324001",
                    "266333915873212976860431084154524218974",
                    "141438533883331388923479777042631333248",
                    "267241808698237529850155227919715267356",
                    "161338706256407720037447748736043171534",
                    "243432383202506704538682197721424302877",
                    "109378171767418019199259038486848187931",
                    "207347966786327077503468203882539366322",
                    "118387852702184010226960443714199893578",
                    "131892216217006981849601439638095457361",
                    "77528225359813657924351064214729293682",
                    "259821985282850994949519964060055535602",
                    "105333857014009852825514519513323948932",
                    "3887393141401655166646096723727204671",
                    "100772480289484844032988974511495917255",
                    "308137024896632628451841580213571865651",
                    "276711968874456057919357331868534381900",
                    "23036224123599881203952092458269375759",
                    "188223257003941931171916384717362606630",
                    "29600315912617463301275027242585612094",
                    "154953104926148169956036875048866552789",
                    "44985388703982644741448196161645095422",
                    "164649791660364160495122579279646184998"
                ]
            },
            "target": {
                "file": "block/blk-mq.c"
            },
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b80056bd75a16e4550873ecefe12bc8fd190b1cf",
            "signature_version": "v1",
            "id": "CVE-2023-52787-9c6b88af",
            "signature_type": "Line"
        },
        {
            "digest": {
                "length": 780.0,
                "function_hash": "180747612357945603864436058479615805547"
            },
            "target": {
                "file": "block/blk-mq.c",
                "function": "blk_mq_get_cached_request"
            },
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b80056bd75a16e4550873ecefe12bc8fd190b1cf",
            "signature_version": "v1",
            "id": "CVE-2023-52787-9d05cc9f",
            "signature_type": "Function"
        },
        {
            "digest": {
                "length": 639.0,
                "function_hash": "166341918775987777360902024577132529521"
            },
            "target": {
                "file": "block/blk-mq.c",
                "function": "blk_mq_get_new_requests"
            },
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b5c8e0ff76d10f6bf70a7237678f27c20cf59bc9",
            "signature_version": "v1",
            "id": "CVE-2023-52787-cd73bded",
            "signature_type": "Function"
        },
        {
            "digest": {
                "length": 757.0,
                "function_hash": "12544275462796756323838579118597156367"
            },
            "target": {
                "file": "block/blk-mq.c",
                "function": "blk_mq_get_cached_request"
            },
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b5c8e0ff76d10f6bf70a7237678f27c20cf59bc9",
            "signature_version": "v1",
            "id": "CVE-2023-52787-e2b0ca6d",
            "signature_type": "Function"
        }
    ]
}

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.72
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.5.13
Type
ECOSYSTEM
Events
Introduced
6.6.0
Fixed
6.6.3