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-21T14:59:35.154754Z
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

[
    {
        "deprecated": false,
        "id": "CVE-2023-52787-1227b4f8",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b5c8e0ff76d10f6bf70a7237678f27c20cf59bc9",
        "signature_version": "v1",
        "target": {
            "file": "block/blk-mq.c"
        },
        "signature_type": "Line",
        "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"
            ]
        }
    },
    {
        "deprecated": false,
        "id": "CVE-2023-52787-2bf32a01",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e9c309ded295b7f8849097d71ae231456ca79f78",
        "signature_version": "v1",
        "target": {
            "function": "blk_mq_get_new_requests",
            "file": "block/blk-mq.c"
        },
        "signature_type": "Function",
        "digest": {
            "function_hash": "166341918775987777360902024577132529521",
            "length": 639.0
        }
    },
    {
        "deprecated": false,
        "id": "CVE-2023-52787-413079f4",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b5c8e0ff76d10f6bf70a7237678f27c20cf59bc9",
        "signature_version": "v1",
        "target": {
            "function": "blk_mq_submit_bio",
            "file": "block/blk-mq.c"
        },
        "signature_type": "Function",
        "digest": {
            "function_hash": "52902844549651751363226636338555811250",
            "length": 1156.0
        }
    },
    {
        "deprecated": false,
        "id": "CVE-2023-52787-4a842b11",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e9c309ded295b7f8849097d71ae231456ca79f78",
        "signature_version": "v1",
        "target": {
            "file": "block/blk-mq.c"
        },
        "signature_type": "Line",
        "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"
            ]
        }
    },
    {
        "deprecated": false,
        "id": "CVE-2023-52787-50f2ab1a",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b0077e269f6c152e807fdac90b58caf012cdbaab",
        "signature_version": "v1",
        "target": {
            "file": "block/blk-mq.c"
        },
        "signature_type": "Line",
        "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"
            ]
        }
    },
    {
        "deprecated": false,
        "id": "CVE-2023-52787-5e446e56",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e9c309ded295b7f8849097d71ae231456ca79f78",
        "signature_version": "v1",
        "target": {
            "function": "blk_mq_submit_bio",
            "file": "block/blk-mq.c"
        },
        "signature_type": "Function",
        "digest": {
            "function_hash": "277503855272523834053961536650223784245",
            "length": 1191.0
        }
    },
    {
        "deprecated": false,
        "id": "CVE-2023-52787-6e5374c6",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b0077e269f6c152e807fdac90b58caf012cdbaab",
        "signature_version": "v1",
        "target": {
            "function": "blk_mq_get_new_requests",
            "file": "block/blk-mq.c"
        },
        "signature_type": "Function",
        "digest": {
            "function_hash": "166341918775987777360902024577132529521",
            "length": 639.0
        }
    },
    {
        "deprecated": false,
        "id": "CVE-2023-52787-702c05f2",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b80056bd75a16e4550873ecefe12bc8fd190b1cf",
        "signature_version": "v1",
        "target": {
            "function": "blk_mq_get_new_requests",
            "file": "block/blk-mq.c"
        },
        "signature_type": "Function",
        "digest": {
            "function_hash": "166341918775987777360902024577132529521",
            "length": 639.0
        }
    },
    {
        "deprecated": false,
        "id": "CVE-2023-52787-9a8bbe8b",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b80056bd75a16e4550873ecefe12bc8fd190b1cf",
        "signature_version": "v1",
        "target": {
            "function": "blk_mq_submit_bio",
            "file": "block/blk-mq.c"
        },
        "signature_type": "Function",
        "digest": {
            "function_hash": "277503855272523834053961536650223784245",
            "length": 1191.0
        }
    },
    {
        "deprecated": false,
        "id": "CVE-2023-52787-9c6b88af",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b80056bd75a16e4550873ecefe12bc8fd190b1cf",
        "signature_version": "v1",
        "target": {
            "file": "block/blk-mq.c"
        },
        "signature_type": "Line",
        "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"
            ]
        }
    },
    {
        "deprecated": false,
        "id": "CVE-2023-52787-9d05cc9f",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b80056bd75a16e4550873ecefe12bc8fd190b1cf",
        "signature_version": "v1",
        "target": {
            "function": "blk_mq_get_cached_request",
            "file": "block/blk-mq.c"
        },
        "signature_type": "Function",
        "digest": {
            "function_hash": "180747612357945603864436058479615805547",
            "length": 780.0
        }
    },
    {
        "deprecated": false,
        "id": "CVE-2023-52787-a490b9e4",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b0077e269f6c152e807fdac90b58caf012cdbaab",
        "signature_version": "v1",
        "target": {
            "function": "blk_mq_get_cached_request",
            "file": "block/blk-mq.c"
        },
        "signature_type": "Function",
        "digest": {
            "function_hash": "180747612357945603864436058479615805547",
            "length": 780.0
        }
    },
    {
        "deprecated": false,
        "id": "CVE-2023-52787-bd61ada9",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e9c309ded295b7f8849097d71ae231456ca79f78",
        "signature_version": "v1",
        "target": {
            "function": "blk_mq_get_cached_request",
            "file": "block/blk-mq.c"
        },
        "signature_type": "Function",
        "digest": {
            "function_hash": "180747612357945603864436058479615805547",
            "length": 780.0
        }
    },
    {
        "deprecated": false,
        "id": "CVE-2023-52787-cd73bded",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b5c8e0ff76d10f6bf70a7237678f27c20cf59bc9",
        "signature_version": "v1",
        "target": {
            "function": "blk_mq_get_new_requests",
            "file": "block/blk-mq.c"
        },
        "signature_type": "Function",
        "digest": {
            "function_hash": "166341918775987777360902024577132529521",
            "length": 639.0
        }
    },
    {
        "deprecated": false,
        "id": "CVE-2023-52787-e2b0ca6d",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b5c8e0ff76d10f6bf70a7237678f27c20cf59bc9",
        "signature_version": "v1",
        "target": {
            "function": "blk_mq_get_cached_request",
            "file": "block/blk-mq.c"
        },
        "signature_type": "Function",
        "digest": {
            "function_hash": "12544275462796756323838579118597156367",
            "length": 757.0
        }
    },
    {
        "deprecated": false,
        "id": "CVE-2023-52787-f590200a",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b0077e269f6c152e807fdac90b58caf012cdbaab",
        "signature_version": "v1",
        "target": {
            "function": "blk_mq_submit_bio",
            "file": "block/blk-mq.c"
        },
        "signature_type": "Function",
        "digest": {
            "function_hash": "277503855272523834053961536650223784245",
            "length": 1191.0
        }
    }
]

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