In the Linux kernel, the following vulnerability has been resolved:
bus: mhi: host: Drop chan lock before queuing buffers
Ensure read and write locks for the channel are not taken in succession by dropping the read lock from parsexferevent() such that a callback given to client can potentially queue buffers and acquire the write lock in that process. Any queueing of buffers should be done without channel read lock acquired as it can result in multiple locks and a soft lockup.
[mani: added fixes tag and cc'ed stable]
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b8eff20d87092e14cac976d057cb0aea2f1d0830",
"id": "CVE-2023-52493-12b36937",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/bus/mhi/host/main.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"36571136220615466275808078033251286692",
"261957599808198248447164465133928982760",
"330135843549699514083287861283472890883",
"230700872259297248924945422838164390885",
"124088571430084372357140637495330528916",
"53269493975263036937840712408954927514",
"172572521693954626916528770019528746116"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@20a6dea2d1c68d4e03c6bb50bc12e72e226b5c0e",
"id": "CVE-2023-52493-15e99abc",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/bus/mhi/host/main.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"36571136220615466275808078033251286692",
"132762101186584793313803642142448782777",
"189801112446709377755578141189552142359",
"230700872259297248924945422838164390885",
"124088571430084372357140637495330528916",
"53269493975263036937840712408954927514",
"172572521693954626916528770019528746116"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3c5ec66b4b3f6816f3a6161538672e389e537690",
"id": "CVE-2023-52493-2a7d9e05",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "parse_xfer_event",
"file": "drivers/bus/mhi/host/main.c"
},
"digest": {
"length": 2253.0,
"function_hash": "4466401878989591193534686969485154040"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6e4c84316e2b70709f0d00c33ba3358d9fc8eece",
"id": "CVE-2023-52493-3b3c9800",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "parse_xfer_event",
"file": "drivers/bus/mhi/host/main.c"
},
"digest": {
"length": 2253.0,
"function_hash": "4466401878989591193534686969485154040"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6e4c84316e2b70709f0d00c33ba3358d9fc8eece",
"id": "CVE-2023-52493-403286a3",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/bus/mhi/host/main.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"36571136220615466275808078033251286692",
"261957599808198248447164465133928982760",
"330135843549699514083287861283472890883",
"230700872259297248924945422838164390885",
"124088571430084372357140637495330528916",
"53269493975263036937840712408954927514",
"172572521693954626916528770019528746116"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3c5ec66b4b3f6816f3a6161538672e389e537690",
"id": "CVE-2023-52493-40c117cb",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/bus/mhi/host/main.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"36571136220615466275808078033251286692",
"261957599808198248447164465133928982760",
"330135843549699514083287861283472890883",
"230700872259297248924945422838164390885",
"124088571430084372357140637495330528916",
"53269493975263036937840712408954927514",
"172572521693954626916528770019528746116"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@20a6dea2d1c68d4e03c6bb50bc12e72e226b5c0e",
"id": "CVE-2023-52493-87fb527c",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "parse_xfer_event",
"file": "drivers/bus/mhi/host/main.c"
},
"digest": {
"length": 2216.0,
"function_hash": "275635741807246147479420985387752086260"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eaefb9464031215d63c0a8a7e2bfaa00736aa17e",
"id": "CVE-2023-52493-a4021f1e",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/bus/mhi/host/main.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"36571136220615466275808078033251286692",
"261957599808198248447164465133928982760",
"330135843549699514083287861283472890883",
"230700872259297248924945422838164390885",
"124088571430084372357140637495330528916",
"53269493975263036937840712408954927514",
"172572521693954626916528770019528746116"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@01bd694ac2f682fb8017e16148b928482bc8fa4b",
"id": "CVE-2023-52493-ac62a50a",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/bus/mhi/host/main.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"36571136220615466275808078033251286692",
"261957599808198248447164465133928982760",
"330135843549699514083287861283472890883",
"230700872259297248924945422838164390885",
"124088571430084372357140637495330528916",
"53269493975263036937840712408954927514",
"172572521693954626916528770019528746116"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b8eff20d87092e14cac976d057cb0aea2f1d0830",
"id": "CVE-2023-52493-c2a60cd8",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "parse_xfer_event",
"file": "drivers/bus/mhi/host/main.c"
},
"digest": {
"length": 2253.0,
"function_hash": "4466401878989591193534686969485154040"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eaefb9464031215d63c0a8a7e2bfaa00736aa17e",
"id": "CVE-2023-52493-d52351b7",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "parse_xfer_event",
"file": "drivers/bus/mhi/host/main.c"
},
"digest": {
"length": 2253.0,
"function_hash": "4466401878989591193534686969485154040"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@01bd694ac2f682fb8017e16148b928482bc8fa4b",
"id": "CVE-2023-52493-f717fb3d",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "parse_xfer_event",
"file": "drivers/bus/mhi/host/main.c"
},
"digest": {
"length": 2253.0,
"function_hash": "4466401878989591193534686969485154040"
},
"signature_type": "Function"
}
]