In the Linux kernel, the following vulnerability has been resolved:
mmc: vub300: fix return value check of mmcaddhost()
mmcaddhost() may return error, if we ignore its return value, the memory that allocated in mmcallochost() will be leaked and it will lead a kernel crash because of deleting not added device in the remove path.
So fix this by checking the return value and goto error path which will call mmcfreehost(), besides, the timer added before mmcaddhost() needs be del.
And this patch fixes another missing call mmcfreehost() if usbcontrolmsg() fails.
[
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2044b2ea77945f372ef161d1bbf814e471767ff2",
"id": "CVE-2022-50251-16399440",
"signature_version": "v1",
"target": {
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"309504089343115517930735617303443600476",
"262537648261262222263461967410820020347",
"228747383315517184010658019766661928348",
"257490943918297232801446769613648237745",
"53007235032402871534290184273700673564",
"266793110942549347103234798261261147958",
"249100093876886424156296055645997238334",
"37592755603178493887330684472423784382",
"49723721478399693699719938530932001611",
"267138763402182977516963656193391887379",
"334975588271584329607406655232271976522",
"99930145970356283235088487731577057618",
"148353992093853237164236530320541309292",
"326573189966481798335137881338146152125",
"174622759179876302047240043852090179037",
"308479848625236496307853617539217344425"
],
"threshold": 0.9
}
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a46e681151bbdacdf6b89ee8c4e5bad0555142bb",
"id": "CVE-2022-50251-2046407d",
"signature_version": "v1",
"target": {
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"309504089343115517930735617303443600476",
"262537648261262222263461967410820020347",
"228747383315517184010658019766661928348",
"257490943918297232801446769613648237745",
"53007235032402871534290184273700673564",
"266793110942549347103234798261261147958",
"249100093876886424156296055645997238334",
"37592755603178493887330684472423784382",
"49723721478399693699719938530932001611",
"267138763402182977516963656193391887379",
"334975588271584329607406655232271976522",
"99930145970356283235088487731577057618",
"148353992093853237164236530320541309292",
"326573189966481798335137881338146152125",
"174622759179876302047240043852090179037",
"308479848625236496307853617539217344425"
],
"threshold": 0.9
}
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3b29f8769d32016b2d89183db4d80c7a71b7e35e",
"id": "CVE-2022-50251-2046fd6d",
"signature_version": "v1",
"target": {
"function": "vub300_probe",
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "226484576207946792605272099314305668957",
"length": 7267.0
}
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25f05d762ca5e1c685002a53dd44f68e78ca3feb",
"id": "CVE-2022-50251-2cfedc99",
"signature_version": "v1",
"target": {
"function": "vub300_probe",
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "41847339858252830507059906381686895215",
"length": 7451.0
}
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0613ad2401f88bdeae5594c30afe318e93b14676",
"id": "CVE-2022-50251-3068cfca",
"signature_version": "v1",
"target": {
"function": "vub300_probe",
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "226484576207946792605272099314305668957",
"length": 7267.0
}
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3049a3b927a40d89d4582ff1033cd7953be773c7",
"id": "CVE-2022-50251-3238ffd5",
"signature_version": "v1",
"target": {
"function": "vub300_probe",
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "226484576207946792605272099314305668957",
"length": 7267.0
}
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a46e681151bbdacdf6b89ee8c4e5bad0555142bb",
"id": "CVE-2022-50251-39d81d1a",
"signature_version": "v1",
"target": {
"function": "vub300_probe",
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "226484576207946792605272099314305668957",
"length": 7267.0
}
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@41ed46bdbd2878cd6567abe0974a445f8b1b8ec8",
"id": "CVE-2022-50251-5eed4a08",
"signature_version": "v1",
"target": {
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"309504089343115517930735617303443600476",
"262537648261262222263461967410820020347",
"228747383315517184010658019766661928348",
"257490943918297232801446769613648237745",
"53007235032402871534290184273700673564",
"266793110942549347103234798261261147958",
"249100093876886424156296055645997238334",
"37592755603178493887330684472423784382",
"49723721478399693699719938530932001611",
"267138763402182977516963656193391887379",
"334975588271584329607406655232271976522",
"99930145970356283235088487731577057618",
"148353992093853237164236530320541309292",
"326573189966481798335137881338146152125",
"174622759179876302047240043852090179037",
"308479848625236496307853617539217344425"
],
"threshold": 0.9
}
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@afc898019e7bf18c5eb7a0ac19852fcb1b341b3c",
"id": "CVE-2022-50251-68e0a5b5",
"signature_version": "v1",
"target": {
"function": "vub300_probe",
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "226484576207946792605272099314305668957",
"length": 7267.0
}
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0613ad2401f88bdeae5594c30afe318e93b14676",
"id": "CVE-2022-50251-6a28fe28",
"signature_version": "v1",
"target": {
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"309504089343115517930735617303443600476",
"262537648261262222263461967410820020347",
"228747383315517184010658019766661928348",
"257490943918297232801446769613648237745",
"53007235032402871534290184273700673564",
"266793110942549347103234798261261147958",
"249100093876886424156296055645997238334",
"37592755603178493887330684472423784382",
"49723721478399693699719938530932001611",
"267138763402182977516963656193391887379",
"334975588271584329607406655232271976522",
"99930145970356283235088487731577057618",
"148353992093853237164236530320541309292",
"326573189966481798335137881338146152125",
"174622759179876302047240043852090179037",
"308479848625236496307853617539217344425"
],
"threshold": 0.9
}
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25f05d762ca5e1c685002a53dd44f68e78ca3feb",
"id": "CVE-2022-50251-77942c1a",
"signature_version": "v1",
"target": {
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"309504089343115517930735617303443600476",
"262537648261262222263461967410820020347",
"228747383315517184010658019766661928348",
"257490943918297232801446769613648237745",
"53007235032402871534290184273700673564",
"266793110942549347103234798261261147958",
"249100093876886424156296055645997238334",
"37592755603178493887330684472423784382",
"49723721478399693699719938530932001611",
"267138763402182977516963656193391887379",
"334975588271584329607406655232271976522",
"99930145970356283235088487731577057618",
"148353992093853237164236530320541309292",
"326573189966481798335137881338146152125",
"174622759179876302047240043852090179037",
"308479848625236496307853617539217344425"
],
"threshold": 0.9
}
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c9e85979b59cb86f0a15defa8199d740e2b36b90",
"id": "CVE-2022-50251-90b70ee3",
"signature_version": "v1",
"target": {
"function": "vub300_probe",
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "226484576207946792605272099314305668957",
"length": 7267.0
}
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2044b2ea77945f372ef161d1bbf814e471767ff2",
"id": "CVE-2022-50251-cfa3c80f",
"signature_version": "v1",
"target": {
"function": "vub300_probe",
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "226484576207946792605272099314305668957",
"length": 7267.0
}
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@afc898019e7bf18c5eb7a0ac19852fcb1b341b3c",
"id": "CVE-2022-50251-d331f2d9",
"signature_version": "v1",
"target": {
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"309504089343115517930735617303443600476",
"262537648261262222263461967410820020347",
"228747383315517184010658019766661928348",
"257490943918297232801446769613648237745",
"53007235032402871534290184273700673564",
"266793110942549347103234798261261147958",
"249100093876886424156296055645997238334",
"37592755603178493887330684472423784382",
"49723721478399693699719938530932001611",
"267138763402182977516963656193391887379",
"334975588271584329607406655232271976522",
"99930145970356283235088487731577057618",
"148353992093853237164236530320541309292",
"326573189966481798335137881338146152125",
"174622759179876302047240043852090179037",
"308479848625236496307853617539217344425"
],
"threshold": 0.9
}
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3049a3b927a40d89d4582ff1033cd7953be773c7",
"id": "CVE-2022-50251-d63bc20f",
"signature_version": "v1",
"target": {
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"309504089343115517930735617303443600476",
"262537648261262222263461967410820020347",
"228747383315517184010658019766661928348",
"257490943918297232801446769613648237745",
"53007235032402871534290184273700673564",
"266793110942549347103234798261261147958",
"249100093876886424156296055645997238334",
"37592755603178493887330684472423784382",
"49723721478399693699719938530932001611",
"267138763402182977516963656193391887379",
"334975588271584329607406655232271976522",
"99930145970356283235088487731577057618",
"148353992093853237164236530320541309292",
"326573189966481798335137881338146152125",
"174622759179876302047240043852090179037",
"308479848625236496307853617539217344425"
],
"threshold": 0.9
}
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@41ed46bdbd2878cd6567abe0974a445f8b1b8ec8",
"id": "CVE-2022-50251-f01b852e",
"signature_version": "v1",
"target": {
"function": "vub300_probe",
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Function",
"digest": {
"function_hash": "292124418022421080980014115887886313318",
"length": 7425.0
}
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3b29f8769d32016b2d89183db4d80c7a71b7e35e",
"id": "CVE-2022-50251-f24333b6",
"signature_version": "v1",
"target": {
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"309504089343115517930735617303443600476",
"262537648261262222263461967410820020347",
"228747383315517184010658019766661928348",
"257490943918297232801446769613648237745",
"53007235032402871534290184273700673564",
"266793110942549347103234798261261147958",
"249100093876886424156296055645997238334",
"37592755603178493887330684472423784382",
"49723721478399693699719938530932001611",
"267138763402182977516963656193391887379",
"334975588271584329607406655232271976522",
"99930145970356283235088487731577057618",
"148353992093853237164236530320541309292",
"326573189966481798335137881338146152125",
"174622759179876302047240043852090179037",
"308479848625236496307853617539217344425"
],
"threshold": 0.9
}
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c9e85979b59cb86f0a15defa8199d740e2b36b90",
"id": "CVE-2022-50251-fc437fc2",
"signature_version": "v1",
"target": {
"file": "drivers/mmc/host/vub300.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"309504089343115517930735617303443600476",
"262537648261262222263461967410820020347",
"228747383315517184010658019766661928348",
"257490943918297232801446769613648237745",
"53007235032402871534290184273700673564",
"266793110942549347103234798261261147958",
"249100093876886424156296055645997238334",
"37592755603178493887330684472423784382",
"49723721478399693699719938530932001611",
"267138763402182977516963656193391887379",
"334975588271584329607406655232271976522",
"99930145970356283235088487731577057618",
"148353992093853237164236530320541309292",
"326573189966481798335137881338146152125",
"174622759179876302047240043852090179037",
"308479848625236496307853617539217344425"
],
"threshold": 0.9
}
}
]