In the Linux kernel, the following vulnerability has been resolved:
nvmet-tcp: Fix a kernel panic when host sends an invalid H2C PDU length
If the host sends an H2CData command with an invalid DATAL, the kernel may crash in nvmettcpbuildpduiovec().
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 lr : nvmettcpiowork+0x6ac/0x718 [nvmettcp] Call trace: processonework+0x174/0x3c8 worker_thread+0x2d0/0x3e8 kthread+0x104/0x110
Fix the bug by raising a fatal error if DATAL isn't coherent with the packet size. Also, the PDU length should never exceed the MAXH2CDATA parameter which has been communicated to the host in nvmettcphandle_icreq().
[
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@70154e8d015c9b4fb56c1a2ef1fc8b83d45c7f68",
"digest": {
"threshold": 0.9,
"line_hashes": [
"301339132654593967277869219168533524754",
"142165764864238819427509620363812965065",
"149674555685502936686469157405011855559",
"221942458337315792875770772556967510792",
"336618114597787437726358705590500025727",
"75608126745822781499800884516036398138",
"53696662395575534398805400201648545910",
"20557978086028398612585810124376976420",
"203450499630074370417765067435990408703",
"94655882382580829571554953299260950362",
"129230864236929151341147471907665367927",
"288949241206730675430934095215895262351",
"17743385559561135877524361947047414564",
"55876930826244698964810610332145908687",
"219980992040367862583861666963423871176"
]
},
"target": {
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-0acda0b0",
"signature_version": "v1",
"signature_type": "Line"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2871aa407007f6f531fae181ad252486e022df42",
"digest": {
"function_hash": "279646807448775900883519640501711597262",
"length": 1513.0
},
"target": {
"function": "nvmet_tcp_handle_icreq",
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-2f8a08a2",
"signature_version": "v1",
"signature_type": "Function"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@24e05760186dc070d3db190ca61efdbce23afc88",
"digest": {
"threshold": 0.9,
"line_hashes": [
"301339132654593967277869219168533524754",
"142165764864238819427509620363812965065",
"149674555685502936686469157405011855559",
"221942458337315792875770772556967510792",
"336618114597787437726358705590500025727",
"75608126745822781499800884516036398138",
"53696662395575534398805400201648545910",
"20557978086028398612585810124376976420",
"203450499630074370417765067435990408703",
"94655882382580829571554953299260950362",
"129230864236929151341147471907665367927",
"288949241206730675430934095215895262351",
"17743385559561135877524361947047414564",
"55876930826244698964810610332145908687",
"219980992040367862583861666963423871176"
]
},
"target": {
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-33acba1f",
"signature_version": "v1",
"signature_type": "Line"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4cb3cf7177ae3666be7fb27d4ad4d72a295fb02d",
"digest": {
"function_hash": "279646807448775900883519640501711597262",
"length": 1513.0
},
"target": {
"function": "nvmet_tcp_handle_icreq",
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-3fa77d59",
"signature_version": "v1",
"signature_type": "Function"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@efa56305908ba20de2104f1b8508c6a7401833be",
"digest": {
"function_hash": "167322941573992117235564708596432509368",
"length": 877.0
},
"target": {
"function": "nvmet_tcp_handle_h2c_data_pdu",
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-40a2a9c5",
"signature_version": "v1",
"signature_type": "Function"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f775f2621c2ac5cc3a0b3a64665dad4fb146e510",
"digest": {
"threshold": 0.9,
"line_hashes": [
"197017424938089977813273964131069513443",
"27404126152142622252912202815233771557",
"88604398638951653272683717945587649398",
"221942458337315792875770772556967510792",
"336618114597787437726358705590500025727",
"75608126745822781499800884516036398138",
"53696662395575534398805400201648545910",
"20557978086028398612585810124376976420",
"203450499630074370417765067435990408703",
"94655882382580829571554953299260950362",
"129230864236929151341147471907665367927",
"288949241206730675430934095215895262351",
"17743385559561135877524361947047414564",
"79538616182902415043816205955644425806",
"194135400307891929606777170974352738203"
]
},
"target": {
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-432a5008",
"signature_version": "v1",
"signature_type": "Line"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ee5e7632e981673f42a50ade25e71e612e543d9d",
"digest": {
"function_hash": "279646807448775900883519640501711597262",
"length": 1513.0
},
"target": {
"function": "nvmet_tcp_handle_icreq",
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-73d6f56f",
"signature_version": "v1",
"signature_type": "Function"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4cb3cf7177ae3666be7fb27d4ad4d72a295fb02d",
"digest": {
"function_hash": "167322941573992117235564708596432509368",
"length": 877.0
},
"target": {
"function": "nvmet_tcp_handle_h2c_data_pdu",
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-83099e77",
"signature_version": "v1",
"signature_type": "Function"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ee5e7632e981673f42a50ade25e71e612e543d9d",
"digest": {
"threshold": 0.9,
"line_hashes": [
"101758671435647302378448533227802465130",
"91814555140870160025792422536950207270",
"43185602919074580938774551079181856254",
"221942458337315792875770772556967510792",
"336618114597787437726358705590500025727",
"75608126745822781499800884516036398138",
"53696662395575534398805400201648545910",
"20557978086028398612585810124376976420",
"203450499630074370417765067435990408703",
"94655882382580829571554953299260950362",
"129230864236929151341147471907665367927",
"288949241206730675430934095215895262351",
"17743385559561135877524361947047414564",
"79538616182902415043816205955644425806",
"194135400307891929606777170974352738203"
]
},
"target": {
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-84675ec8",
"signature_version": "v1",
"signature_type": "Line"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4cb3cf7177ae3666be7fb27d4ad4d72a295fb02d",
"digest": {
"threshold": 0.9,
"line_hashes": [
"197017424938089977813273964131069513443",
"27404126152142622252912202815233771557",
"88604398638951653272683717945587649398",
"221942458337315792875770772556967510792",
"336618114597787437726358705590500025727",
"75608126745822781499800884516036398138",
"53696662395575534398805400201648545910",
"20557978086028398612585810124376976420",
"203450499630074370417765067435990408703",
"94655882382580829571554953299260950362",
"129230864236929151341147471907665367927",
"288949241206730675430934095215895262351",
"17743385559561135877524361947047414564",
"79538616182902415043816205955644425806",
"194135400307891929606777170974352738203"
]
},
"target": {
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-84a4fd27",
"signature_version": "v1",
"signature_type": "Line"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f775f2621c2ac5cc3a0b3a64665dad4fb146e510",
"digest": {
"function_hash": "279646807448775900883519640501711597262",
"length": 1513.0
},
"target": {
"function": "nvmet_tcp_handle_icreq",
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-877059e9",
"signature_version": "v1",
"signature_type": "Function"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@24e05760186dc070d3db190ca61efdbce23afc88",
"digest": {
"function_hash": "167322941573992117235564708596432509368",
"length": 877.0
},
"target": {
"function": "nvmet_tcp_handle_h2c_data_pdu",
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-9dd339ea",
"signature_version": "v1",
"signature_type": "Function"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@efa56305908ba20de2104f1b8508c6a7401833be",
"digest": {
"threshold": 0.9,
"line_hashes": [
"301339132654593967277869219168533524754",
"142165764864238819427509620363812965065",
"149674555685502936686469157405011855559",
"221942458337315792875770772556967510792",
"336618114597787437726358705590500025727",
"75608126745822781499800884516036398138",
"53696662395575534398805400201648545910",
"20557978086028398612585810124376976420",
"203450499630074370417765067435990408703",
"94655882382580829571554953299260950362",
"129230864236929151341147471907665367927",
"288949241206730675430934095215895262351",
"17743385559561135877524361947047414564",
"55876930826244698964810610332145908687",
"219980992040367862583861666963423871176"
]
},
"target": {
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-a4cb7b63",
"signature_version": "v1",
"signature_type": "Line"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2871aa407007f6f531fae181ad252486e022df42",
"digest": {
"threshold": 0.9,
"line_hashes": [
"197017424938089977813273964131069513443",
"27404126152142622252912202815233771557",
"88604398638951653272683717945587649398",
"221942458337315792875770772556967510792",
"336618114597787437726358705590500025727",
"75608126745822781499800884516036398138",
"53696662395575534398805400201648545910",
"20557978086028398612585810124376976420",
"203450499630074370417765067435990408703",
"94655882382580829571554953299260950362",
"129230864236929151341147471907665367927",
"288949241206730675430934095215895262351",
"17743385559561135877524361947047414564",
"55876930826244698964810610332145908687",
"219980992040367862583861666963423871176"
]
},
"target": {
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-ac4a7c95",
"signature_version": "v1",
"signature_type": "Line"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@70154e8d015c9b4fb56c1a2ef1fc8b83d45c7f68",
"digest": {
"function_hash": "260573434368710865793934044145093950352",
"length": 1555.0
},
"target": {
"function": "nvmet_tcp_handle_icreq",
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-ae3f44d9",
"signature_version": "v1",
"signature_type": "Function"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ee5e7632e981673f42a50ade25e71e612e543d9d",
"digest": {
"function_hash": "167322941573992117235564708596432509368",
"length": 877.0
},
"target": {
"function": "nvmet_tcp_handle_h2c_data_pdu",
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-bd6d8129",
"signature_version": "v1",
"signature_type": "Function"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2871aa407007f6f531fae181ad252486e022df42",
"digest": {
"function_hash": "167322941573992117235564708596432509368",
"length": 877.0
},
"target": {
"function": "nvmet_tcp_handle_h2c_data_pdu",
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-c92e855b",
"signature_version": "v1",
"signature_type": "Function"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f775f2621c2ac5cc3a0b3a64665dad4fb146e510",
"digest": {
"function_hash": "167322941573992117235564708596432509368",
"length": 877.0
},
"target": {
"function": "nvmet_tcp_handle_h2c_data_pdu",
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-cbd9def8",
"signature_version": "v1",
"signature_type": "Function"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@70154e8d015c9b4fb56c1a2ef1fc8b83d45c7f68",
"digest": {
"function_hash": "167322941573992117235564708596432509368",
"length": 877.0
},
"target": {
"function": "nvmet_tcp_handle_h2c_data_pdu",
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-d0312345",
"signature_version": "v1",
"signature_type": "Function"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@efa56305908ba20de2104f1b8508c6a7401833be",
"digest": {
"function_hash": "260573434368710865793934044145093950352",
"length": 1555.0
},
"target": {
"function": "nvmet_tcp_handle_icreq",
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-eb6b8194",
"signature_version": "v1",
"signature_type": "Function"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@24e05760186dc070d3db190ca61efdbce23afc88",
"digest": {
"function_hash": "279646807448775900883519640501711597262",
"length": 1513.0
},
"target": {
"function": "nvmet_tcp_handle_icreq",
"file": "drivers/nvme/target/tcp.c"
},
"id": "CVE-2023-52454-f0b8de0b",
"signature_version": "v1",
"signature_type": "Function"
}
]