In the Linux kernel, the following vulnerability has been resolved:
scsi: qla2xxx: Wait for io return on terminate rport
System crash due to use after free. Current code allows terminaterportio to exit before making sure all IOs has returned. For FCP-2 device, IO's can hang on in HW because driver has not tear down the session in FW at first sign of cable pull. When devlosstmo timer pops, terminaterportio is called and upper layer is about to free various resources. Terminaterportio trigger qla to do the final cleanup, but the cleanup might not be fast enough where it leave qla still holding on to the same resource.
Wait for IO's to return to upper layer before resources are freed.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53322.json"
}"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-53322.json"
[
{
"id": "CVE-2023-53322-285c09ef",
"target": {
"file": "drivers/scsi/qla2xxx/qla_attr.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8a55556cd7e0220486163b1285ce11a8be2ce5fa",
"digest": {
"threshold": 0.9,
"line_hashes": [
"146171927437937698681334142868842396062",
"257990498555001500478738147138075452761",
"50460693239957975476921542507306358411",
"204982304623836417153741756711409957654",
"40203040582023562223211391444562381634",
"324728869511867557843082990757416113004",
"318394655346893661955702395139957422069",
"166564899331999987154126125681106549889",
"15224725587456360631718046025174640705",
"216196827368137217860728372321985008620",
"172264749673207760244806939947430187898",
"21451069301071697009204525756130165543",
"325182075523088397473706959738935379250",
"85229281575601624814772495663112028626"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-53322-35e918d0",
"target": {
"function": "qla2x00_terminate_rport_io",
"file": "drivers/scsi/qla2xxx/qla_attr.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@90770dad1eb30967ebd8d37d82830bcf270b3293",
"digest": {
"function_hash": "198521728150677454299910725212570095586",
"length": 807.0
},
"signature_type": "Function"
},
{
"id": "CVE-2023-53322-44f95c12",
"target": {
"file": "drivers/scsi/qla2xxx/qla_attr.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5bcdaafd92be6035ddc77fa76650cf9dd5b864c4",
"digest": {
"threshold": 0.9,
"line_hashes": [
"146171927437937698681334142868842396062",
"257990498555001500478738147138075452761",
"50460693239957975476921542507306358411",
"204982304623836417153741756711409957654",
"40203040582023562223211391444562381634",
"324728869511867557843082990757416113004",
"318394655346893661955702395139957422069",
"166564899331999987154126125681106549889",
"15224725587456360631718046025174640705",
"216196827368137217860728372321985008620",
"52354959619400736729203102375050154303",
"126376205381454861270861813838085368862",
"93662261141235397336793541586627527916",
"85229281575601624814772495663112028626"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-53322-4ccce983",
"target": {
"function": "qla2x00_terminate_rport_io",
"file": "drivers/scsi/qla2xxx/qla_attr.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4647d2e88918a078359d1532d90c417a38542c9e",
"digest": {
"function_hash": "218576998886930022934645319874775450970",
"length": 649.0
},
"signature_type": "Function"
},
{
"id": "CVE-2023-53322-530b09ba",
"target": {
"file": "drivers/scsi/qla2xxx/qla_attr.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fc0cba0c7be8261a1625098bd1d695077ec621c9",
"digest": {
"threshold": 0.9,
"line_hashes": [
"146171927437937698681334142868842396062",
"257990498555001500478738147138075452761",
"50460693239957975476921542507306358411",
"204982304623836417153741756711409957654",
"40203040582023562223211391444562381634",
"324728869511867557843082990757416113004",
"318394655346893661955702395139957422069",
"166564899331999987154126125681106549889",
"15224725587456360631718046025174640705",
"216196827368137217860728372321985008620",
"52354959619400736729203102375050154303",
"126376205381454861270861813838085368862",
"93662261141235397336793541586627527916",
"85229281575601624814772495663112028626"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-53322-604233d1",
"target": {
"function": "qla2x00_terminate_rport_io",
"file": "drivers/scsi/qla2xxx/qla_attr.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5bcdaafd92be6035ddc77fa76650cf9dd5b864c4",
"digest": {
"function_hash": "198521728150677454299910725212570095586",
"length": 807.0
},
"signature_type": "Function"
},
{
"id": "CVE-2023-53322-babe85e6",
"target": {
"file": "drivers/scsi/qla2xxx/qla_attr.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a9fe97fb7b4ee21bffb76f2acb05769bad27ae70",
"digest": {
"threshold": 0.9,
"line_hashes": [
"146171927437937698681334142868842396062",
"257990498555001500478738147138075452761",
"50460693239957975476921542507306358411",
"204982304623836417153741756711409957654",
"40203040582023562223211391444562381634",
"324728869511867557843082990757416113004",
"318394655346893661955702395139957422069",
"166564899331999987154126125681106549889",
"15224725587456360631718046025174640705",
"216196827368137217860728372321985008620",
"172264749673207760244806939947430187898",
"21451069301071697009204525756130165543",
"325182075523088397473706959738935379250",
"85229281575601624814772495663112028626"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-53322-d6cd8775",
"target": {
"file": "drivers/scsi/qla2xxx/qla_attr.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4647d2e88918a078359d1532d90c417a38542c9e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"146171927437937698681334142868842396062",
"257990498555001500478738147138075452761",
"50460693239957975476921542507306358411",
"204982304623836417153741756711409957654",
"40203040582023562223211391444562381634",
"324728869511867557843082990757416113004",
"318394655346893661955702395139957422069",
"166564899331999987154126125681106549889",
"15224725587456360631718046025174640705",
"216196827368137217860728372321985008620",
"172264749673207760244806939947430187898",
"21451069301071697009204525756130165543",
"325182075523088397473706959738935379250",
"85229281575601624814772495663112028626"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-53322-d6dc494b",
"target": {
"function": "qla2x00_terminate_rport_io",
"file": "drivers/scsi/qla2xxx/qla_attr.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fc0cba0c7be8261a1625098bd1d695077ec621c9",
"digest": {
"function_hash": "198521728150677454299910725212570095586",
"length": 807.0
},
"signature_type": "Function"
},
{
"id": "CVE-2023-53322-d70e3e8a",
"target": {
"file": "drivers/scsi/qla2xxx/qla_attr.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d25fded78d88e1515439b3ba581684d683e0b6ab",
"digest": {
"threshold": 0.9,
"line_hashes": [
"146171927437937698681334142868842396062",
"257990498555001500478738147138075452761",
"50460693239957975476921542507306358411",
"204982304623836417153741756711409957654",
"40203040582023562223211391444562381634",
"324728869511867557843082990757416113004",
"318394655346893661955702395139957422069",
"166564899331999987154126125681106549889",
"15224725587456360631718046025174640705",
"216196827368137217860728372321985008620",
"172264749673207760244806939947430187898",
"21451069301071697009204525756130165543",
"325182075523088397473706959738935379250",
"85229281575601624814772495663112028626"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-53322-d85af9d9",
"target": {
"file": "drivers/scsi/qla2xxx/qla_attr.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@079c8264ed9fea8cbcac01ad29040f901cbc3692",
"digest": {
"threshold": 0.9,
"line_hashes": [
"146171927437937698681334142868842396062",
"257990498555001500478738147138075452761",
"50460693239957975476921542507306358411",
"204982304623836417153741756711409957654",
"40203040582023562223211391444562381634",
"324728869511867557843082990757416113004",
"318394655346893661955702395139957422069",
"166564899331999987154126125681106549889",
"15224725587456360631718046025174640705",
"216196827368137217860728372321985008620",
"52354959619400736729203102375050154303",
"126376205381454861270861813838085368862",
"93662261141235397336793541586627527916",
"85229281575601624814772495663112028626"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-53322-dc39d2bf",
"target": {
"file": "drivers/scsi/qla2xxx/qla_attr.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@90770dad1eb30967ebd8d37d82830bcf270b3293",
"digest": {
"threshold": 0.9,
"line_hashes": [
"146171927437937698681334142868842396062",
"257990498555001500478738147138075452761",
"50460693239957975476921542507306358411",
"204982304623836417153741756711409957654",
"40203040582023562223211391444562381634",
"324728869511867557843082990757416113004",
"318394655346893661955702395139957422069",
"166564899331999987154126125681106549889",
"15224725587456360631718046025174640705",
"216196827368137217860728372321985008620",
"52354959619400736729203102375050154303",
"126376205381454861270861813838085368862",
"93662261141235397336793541586627527916",
"85229281575601624814772495663112028626"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-53322-df2e1992",
"target": {
"function": "qla2x00_terminate_rport_io",
"file": "drivers/scsi/qla2xxx/qla_attr.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8a55556cd7e0220486163b1285ce11a8be2ce5fa",
"digest": {
"function_hash": "218576998886930022934645319874775450970",
"length": 649.0
},
"signature_type": "Function"
},
{
"id": "CVE-2023-53322-f30a4a19",
"target": {
"function": "qla2x00_terminate_rport_io",
"file": "drivers/scsi/qla2xxx/qla_attr.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a9fe97fb7b4ee21bffb76f2acb05769bad27ae70",
"digest": {
"function_hash": "218576998886930022934645319874775450970",
"length": 649.0
},
"signature_type": "Function"
},
{
"id": "CVE-2023-53322-f5a1b55b",
"target": {
"function": "qla2x00_terminate_rport_io",
"file": "drivers/scsi/qla2xxx/qla_attr.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@079c8264ed9fea8cbcac01ad29040f901cbc3692",
"digest": {
"function_hash": "198521728150677454299910725212570095586",
"length": 807.0
},
"signature_type": "Function"
},
{
"id": "CVE-2023-53322-fa6879b7",
"target": {
"function": "qla2x00_terminate_rport_io",
"file": "drivers/scsi/qla2xxx/qla_attr.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d25fded78d88e1515439b3ba581684d683e0b6ab",
"digest": {
"function_hash": "218576998886930022934645319874775450970",
"length": 649.0
},
"signature_type": "Function"
}
]