In the Linux kernel, the following vulnerability has been resolved:
media: dw2102: Fix null-ptr-deref in dw2102i2ctransfer()
In dw2102i2ctransfer, msg is controlled by user. When msg[i].buf is null and msg[i].len is zero, former checks on msg[i].buf would be passed. Malicious data finally reach dw2102i2ctransfer. If accessing msg[i].buf[0] without sanity check, null ptr deref would happen. We add check on msg[i].len to prevent crash.
Similar commit: commit 950e252cb469 ("[media] dw2102: limit messages to buffer size")
[
{
"signature_version": "v1",
"digest": {
"function_hash": "70287086910477543932016295316259456307",
"length": 1614.0
},
"deprecated": false,
"signature_type": "Function",
"target": {
"function": "dw2102_i2c_transfer",
"file": "drivers/media/usb/dvb-usb/dw2102.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fb28afab113a82b89ffec48c8155ec05b4f8cb5e",
"id": "CVE-2023-53146-0ba6d69b"
},
{
"signature_version": "v1",
"digest": {
"function_hash": "70287086910477543932016295316259456307",
"length": 1614.0
},
"deprecated": false,
"signature_type": "Function",
"target": {
"function": "dw2102_i2c_transfer",
"file": "drivers/media/usb/dvb-usb/dw2102.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@77cbd42d29de9ffc93d5529bab8813cde53af14c",
"id": "CVE-2023-53146-1b869d17"
},
{
"signature_version": "v1",
"digest": {
"function_hash": "70287086910477543932016295316259456307",
"length": 1614.0
},
"deprecated": false,
"signature_type": "Function",
"target": {
"function": "dw2102_i2c_transfer",
"file": "drivers/media/usb/dvb-usb/dw2102.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5ae544d94abc8ff77b1b9bf8774def3fa5689b5b",
"id": "CVE-2023-53146-3c661ad9"
},
{
"signature_version": "v1",
"digest": {
"line_hashes": [
"237200771964220467591357470800917831798",
"162615913866828177419125548370828511563",
"212816291893453283629813699039815991810",
"240505490789511748066772267170907015331",
"280918992705855479811463054078993073030",
"165763735092571921768087274616131618138",
"227043284495380922233773545269251277175",
"181860998867781215632469364105380702669",
"198957567386307267425766767618226418346",
"181034112753762277860742616832654570472",
"317004962170675644271032136937791772007",
"232198174153122546053807700779082350350",
"329308832119187486622089884533451006837",
"208645751015557533643191730868401617286",
"198204363706931900940219978289238539335",
"160640617794101099466710489835358698235",
"236558234916696376480959913564729545411",
"88715587704646118079650394905685356317",
"238591049488404359995358511159988045775",
"130198596452255346090591121046963782291",
"3780213197779428066413483030060574090",
"267822510401297160075320789708768325931",
"32077694074606100956507389996328330011",
"5881880128028837400257785826961466169",
"145775114329372978437130987157912094577",
"19687190861408367308160490305231189421"
],
"threshold": 0.9
},
"deprecated": false,
"signature_type": "Line",
"target": {
"file": "drivers/media/usb/dvb-usb/dw2102.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@903566208ae6bb9c0e7e54355ce75bf6cf72485d",
"id": "CVE-2023-53146-3eb5a84f"
},
{
"signature_version": "v1",
"digest": {
"line_hashes": [
"237200771964220467591357470800917831798",
"162615913866828177419125548370828511563",
"212816291893453283629813699039815991810",
"240505490789511748066772267170907015331",
"280918992705855479811463054078993073030",
"165763735092571921768087274616131618138",
"227043284495380922233773545269251277175",
"181860998867781215632469364105380702669",
"198957567386307267425766767618226418346",
"181034112753762277860742616832654570472",
"317004962170675644271032136937791772007",
"232198174153122546053807700779082350350",
"329308832119187486622089884533451006837",
"208645751015557533643191730868401617286",
"198204363706931900940219978289238539335",
"160640617794101099466710489835358698235",
"236558234916696376480959913564729545411",
"88715587704646118079650394905685356317",
"238591049488404359995358511159988045775",
"130198596452255346090591121046963782291",
"3780213197779428066413483030060574090",
"267822510401297160075320789708768325931",
"32077694074606100956507389996328330011",
"5881880128028837400257785826961466169",
"145775114329372978437130987157912094577",
"19687190861408367308160490305231189421"
],
"threshold": 0.9
},
"deprecated": false,
"signature_type": "Line",
"target": {
"file": "drivers/media/usb/dvb-usb/dw2102.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@97fdbdb750342cbc204befde976872fedb406ee6",
"id": "CVE-2023-53146-47382175"
},
{
"signature_version": "v1",
"digest": {
"function_hash": "70287086910477543932016295316259456307",
"length": 1614.0
},
"deprecated": false,
"signature_type": "Function",
"target": {
"function": "dw2102_i2c_transfer",
"file": "drivers/media/usb/dvb-usb/dw2102.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ecbe6d011b95c7da59f014f8d26cb7245ed1e11e",
"id": "CVE-2023-53146-4c60d286"
},
{
"signature_version": "v1",
"digest": {
"function_hash": "70287086910477543932016295316259456307",
"length": 1614.0
},
"deprecated": false,
"signature_type": "Function",
"target": {
"function": "dw2102_i2c_transfer",
"file": "drivers/media/usb/dvb-usb/dw2102.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@97fdbdb750342cbc204befde976872fedb406ee6",
"id": "CVE-2023-53146-55d79c45"
},
{
"signature_version": "v1",
"digest": {
"function_hash": "70287086910477543932016295316259456307",
"length": 1614.0
},
"deprecated": false,
"signature_type": "Function",
"target": {
"function": "dw2102_i2c_transfer",
"file": "drivers/media/usb/dvb-usb/dw2102.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@beb9550494e7349f92b9eaa283256a5ad9b1c9be",
"id": "CVE-2023-53146-68e8927d"
},
{
"signature_version": "v1",
"digest": {
"line_hashes": [
"237200771964220467591357470800917831798",
"162615913866828177419125548370828511563",
"212816291893453283629813699039815991810",
"240505490789511748066772267170907015331",
"280918992705855479811463054078993073030",
"165763735092571921768087274616131618138",
"227043284495380922233773545269251277175",
"181860998867781215632469364105380702669",
"198957567386307267425766767618226418346",
"181034112753762277860742616832654570472",
"317004962170675644271032136937791772007",
"232198174153122546053807700779082350350",
"329308832119187486622089884533451006837",
"208645751015557533643191730868401617286",
"198204363706931900940219978289238539335",
"160640617794101099466710489835358698235",
"236558234916696376480959913564729545411",
"88715587704646118079650394905685356317",
"238591049488404359995358511159988045775",
"130198596452255346090591121046963782291",
"3780213197779428066413483030060574090",
"267822510401297160075320789708768325931",
"32077694074606100956507389996328330011",
"5881880128028837400257785826961466169",
"145775114329372978437130987157912094577",
"19687190861408367308160490305231189421"
],
"threshold": 0.9
},
"deprecated": false,
"signature_type": "Line",
"target": {
"file": "drivers/media/usb/dvb-usb/dw2102.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5ae544d94abc8ff77b1b9bf8774def3fa5689b5b",
"id": "CVE-2023-53146-6ee90d5a"
},
{
"signature_version": "v1",
"digest": {
"function_hash": "70287086910477543932016295316259456307",
"length": 1614.0
},
"deprecated": false,
"signature_type": "Function",
"target": {
"function": "dw2102_i2c_transfer",
"file": "drivers/media/usb/dvb-usb/dw2102.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@08dfcbd03b2b7f918c4f87c6ff637054e510df74",
"id": "CVE-2023-53146-717e2733"
},
{
"signature_version": "v1",
"digest": {
"line_hashes": [
"237200771964220467591357470800917831798",
"162615913866828177419125548370828511563",
"212816291893453283629813699039815991810",
"240505490789511748066772267170907015331",
"280918992705855479811463054078993073030",
"165763735092571921768087274616131618138",
"227043284495380922233773545269251277175",
"181860998867781215632469364105380702669",
"198957567386307267425766767618226418346",
"181034112753762277860742616832654570472",
"317004962170675644271032136937791772007",
"232198174153122546053807700779082350350",
"329308832119187486622089884533451006837",
"208645751015557533643191730868401617286",
"198204363706931900940219978289238539335",
"160640617794101099466710489835358698235",
"236558234916696376480959913564729545411",
"88715587704646118079650394905685356317",
"238591049488404359995358511159988045775",
"130198596452255346090591121046963782291",
"3780213197779428066413483030060574090",
"267822510401297160075320789708768325931",
"32077694074606100956507389996328330011",
"5881880128028837400257785826961466169",
"145775114329372978437130987157912094577",
"19687190861408367308160490305231189421"
],
"threshold": 0.9
},
"deprecated": false,
"signature_type": "Line",
"target": {
"file": "drivers/media/usb/dvb-usb/dw2102.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fb28afab113a82b89ffec48c8155ec05b4f8cb5e",
"id": "CVE-2023-53146-71a97082"
},
{
"signature_version": "v1",
"digest": {
"line_hashes": [
"237200771964220467591357470800917831798",
"162615913866828177419125548370828511563",
"212816291893453283629813699039815991810",
"240505490789511748066772267170907015331",
"280918992705855479811463054078993073030",
"165763735092571921768087274616131618138",
"227043284495380922233773545269251277175",
"181860998867781215632469364105380702669",
"198957567386307267425766767618226418346",
"181034112753762277860742616832654570472",
"317004962170675644271032136937791772007",
"232198174153122546053807700779082350350",
"329308832119187486622089884533451006837",
"208645751015557533643191730868401617286",
"198204363706931900940219978289238539335",
"160640617794101099466710489835358698235",
"236558234916696376480959913564729545411",
"88715587704646118079650394905685356317",
"238591049488404359995358511159988045775",
"130198596452255346090591121046963782291",
"3780213197779428066413483030060574090",
"267822510401297160075320789708768325931",
"32077694074606100956507389996328330011",
"5881880128028837400257785826961466169",
"145775114329372978437130987157912094577",
"19687190861408367308160490305231189421"
],
"threshold": 0.9
},
"deprecated": false,
"signature_type": "Line",
"target": {
"file": "drivers/media/usb/dvb-usb/dw2102.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@08dfcbd03b2b7f918c4f87c6ff637054e510df74",
"id": "CVE-2023-53146-768f0648"
},
{
"signature_version": "v1",
"digest": {
"line_hashes": [
"237200771964220467591357470800917831798",
"162615913866828177419125548370828511563",
"212816291893453283629813699039815991810",
"240505490789511748066772267170907015331",
"280918992705855479811463054078993073030",
"165763735092571921768087274616131618138",
"227043284495380922233773545269251277175",
"181860998867781215632469364105380702669",
"198957567386307267425766767618226418346",
"181034112753762277860742616832654570472",
"317004962170675644271032136937791772007",
"232198174153122546053807700779082350350",
"329308832119187486622089884533451006837",
"208645751015557533643191730868401617286",
"198204363706931900940219978289238539335",
"160640617794101099466710489835358698235",
"236558234916696376480959913564729545411",
"88715587704646118079650394905685356317",
"238591049488404359995358511159988045775",
"130198596452255346090591121046963782291",
"3780213197779428066413483030060574090",
"267822510401297160075320789708768325931",
"32077694074606100956507389996328330011",
"5881880128028837400257785826961466169",
"145775114329372978437130987157912094577",
"19687190861408367308160490305231189421"
],
"threshold": 0.9
},
"deprecated": false,
"signature_type": "Line",
"target": {
"file": "drivers/media/usb/dvb-usb/dw2102.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@beb9550494e7349f92b9eaa283256a5ad9b1c9be",
"id": "CVE-2023-53146-c4c6a0a9"
},
{
"signature_version": "v1",
"digest": {
"line_hashes": [
"237200771964220467591357470800917831798",
"162615913866828177419125548370828511563",
"212816291893453283629813699039815991810",
"240505490789511748066772267170907015331",
"280918992705855479811463054078993073030",
"165763735092571921768087274616131618138",
"227043284495380922233773545269251277175",
"181860998867781215632469364105380702669",
"198957567386307267425766767618226418346",
"181034112753762277860742616832654570472",
"317004962170675644271032136937791772007",
"232198174153122546053807700779082350350",
"329308832119187486622089884533451006837",
"208645751015557533643191730868401617286",
"198204363706931900940219978289238539335",
"160640617794101099466710489835358698235",
"236558234916696376480959913564729545411",
"88715587704646118079650394905685356317",
"238591049488404359995358511159988045775",
"130198596452255346090591121046963782291",
"3780213197779428066413483030060574090",
"267822510401297160075320789708768325931",
"32077694074606100956507389996328330011",
"5881880128028837400257785826961466169",
"145775114329372978437130987157912094577",
"19687190861408367308160490305231189421"
],
"threshold": 0.9
},
"deprecated": false,
"signature_type": "Line",
"target": {
"file": "drivers/media/usb/dvb-usb/dw2102.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ecbe6d011b95c7da59f014f8d26cb7245ed1e11e",
"id": "CVE-2023-53146-de088c78"
},
{
"signature_version": "v1",
"digest": {
"function_hash": "70287086910477543932016295316259456307",
"length": 1614.0
},
"deprecated": false,
"signature_type": "Function",
"target": {
"function": "dw2102_i2c_transfer",
"file": "drivers/media/usb/dvb-usb/dw2102.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@903566208ae6bb9c0e7e54355ce75bf6cf72485d",
"id": "CVE-2023-53146-eaed93c7"
},
{
"signature_version": "v1",
"digest": {
"line_hashes": [
"237200771964220467591357470800917831798",
"162615913866828177419125548370828511563",
"212816291893453283629813699039815991810",
"240505490789511748066772267170907015331",
"280918992705855479811463054078993073030",
"165763735092571921768087274616131618138",
"227043284495380922233773545269251277175",
"181860998867781215632469364105380702669",
"198957567386307267425766767618226418346",
"181034112753762277860742616832654570472",
"317004962170675644271032136937791772007",
"232198174153122546053807700779082350350",
"329308832119187486622089884533451006837",
"208645751015557533643191730868401617286",
"198204363706931900940219978289238539335",
"160640617794101099466710489835358698235",
"236558234916696376480959913564729545411",
"88715587704646118079650394905685356317",
"238591049488404359995358511159988045775",
"130198596452255346090591121046963782291",
"3780213197779428066413483030060574090",
"267822510401297160075320789708768325931",
"32077694074606100956507389996328330011",
"5881880128028837400257785826961466169",
"145775114329372978437130987157912094577",
"19687190861408367308160490305231189421"
],
"threshold": 0.9
},
"deprecated": false,
"signature_type": "Line",
"target": {
"file": "drivers/media/usb/dvb-usb/dw2102.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@77cbd42d29de9ffc93d5529bab8813cde53af14c",
"id": "CVE-2023-53146-f68f78cf"
}
]