In the Linux kernel, the following vulnerability has been resolved:
firmware: arm_scmi: Fix list protocols enumeration in the base protocol
While enumerating protocols implemented by the SCMI platform using BASEDISCOVERLISTPROTOCOLS, the number of returned protocols is currently validated in an improper way since the check employs a sum between unsigned integers that could overflow and cause the check itself to be silently bypassed if the returned value 'loopnum_ret' is big enough.
Fix the validation avoiding the addition.
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6e7978695f4a6cbd83616b5a702b77fa2087b247",
"target": {
"function": "scmi_base_implementation_list_get",
"file": "drivers/firmware/arm_scmi/base.c"
},
"deprecated": false,
"id": "CVE-2022-49451-0bbb1c0f",
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"length": 863.0,
"function_hash": "285662930284142563593290028640501706791"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1052f22e127d0c34c3387bb389424ba1c61491ff",
"target": {
"function": "scmi_base_implementation_list_get",
"file": "drivers/firmware/arm_scmi/base.c"
},
"deprecated": false,
"id": "CVE-2022-49451-420eb92f",
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"length": 803.0,
"function_hash": "191700900765891366200691025691839886015"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b0e4bafac8963c2d85ee18d3d01f393735acceec",
"target": {
"function": "scmi_base_implementation_list_get",
"file": "drivers/firmware/arm_scmi/base.c"
},
"deprecated": false,
"id": "CVE-2022-49451-46c221e5",
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"length": 803.0,
"function_hash": "191700900765891366200691025691839886015"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6e7978695f4a6cbd83616b5a702b77fa2087b247",
"target": {
"file": "drivers/firmware/arm_scmi/base.c"
},
"deprecated": false,
"id": "CVE-2022-49451-496a830f",
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"271961946401823156563131200001282023483",
"103507820981493997511317214374628076673",
"300871196399938107706990920240906128144",
"111089207416527628887298603030496236464"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@98342148a8cd242855d7e257f298c966c96dba9f",
"target": {
"function": "scmi_base_implementation_list_get",
"file": "drivers/firmware/arm_scmi/base.c"
},
"deprecated": false,
"id": "CVE-2022-49451-76d8a6e5",
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"length": 863.0,
"function_hash": "285662930284142563593290028640501706791"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2ccfcd7a09c826516edcfe464b05071961aada3f",
"target": {
"file": "drivers/firmware/arm_scmi/base.c"
},
"deprecated": false,
"id": "CVE-2022-49451-93ef1c5b",
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"271961946401823156563131200001282023483",
"103507820981493997511317214374628076673",
"300871196399938107706990920240906128144",
"111089207416527628887298603030496236464"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@444a2d27fe9867d0da4b28fc45b793f32e099ab8",
"target": {
"function": "scmi_base_implementation_list_get",
"file": "drivers/firmware/arm_scmi/base.c"
},
"deprecated": false,
"id": "CVE-2022-49451-a59e6228",
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"length": 776.0,
"function_hash": "294343015404502576290237170577512304802"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1052f22e127d0c34c3387bb389424ba1c61491ff",
"target": {
"file": "drivers/firmware/arm_scmi/base.c"
},
"deprecated": false,
"id": "CVE-2022-49451-b80393c6",
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"271961946401823156563131200001282023483",
"103507820981493997511317214374628076673",
"300871196399938107706990920240906128144",
"111089207416527628887298603030496236464"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8009120e0354a67068e920eb10dce532391361d0",
"target": {
"function": "scmi_base_implementation_list_get",
"file": "drivers/firmware/arm_scmi/base.c"
},
"deprecated": false,
"id": "CVE-2022-49451-cb3f1eb5",
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"length": 863.0,
"function_hash": "285662930284142563593290028640501706791"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2ccfcd7a09c826516edcfe464b05071961aada3f",
"target": {
"function": "scmi_base_implementation_list_get",
"file": "drivers/firmware/arm_scmi/base.c"
},
"deprecated": false,
"id": "CVE-2022-49451-d11a7589",
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"length": 863.0,
"function_hash": "285662930284142563593290028640501706791"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8009120e0354a67068e920eb10dce532391361d0",
"target": {
"file": "drivers/firmware/arm_scmi/base.c"
},
"deprecated": false,
"id": "CVE-2022-49451-d485f4a4",
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"271961946401823156563131200001282023483",
"103507820981493997511317214374628076673",
"300871196399938107706990920240906128144",
"111089207416527628887298603030496236464"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@98342148a8cd242855d7e257f298c966c96dba9f",
"target": {
"file": "drivers/firmware/arm_scmi/base.c"
},
"deprecated": false,
"id": "CVE-2022-49451-ebd2a3b0",
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"271961946401823156563131200001282023483",
"103507820981493997511317214374628076673",
"300871196399938107706990920240906128144",
"111089207416527628887298603030496236464"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@444a2d27fe9867d0da4b28fc45b793f32e099ab8",
"target": {
"file": "drivers/firmware/arm_scmi/base.c"
},
"deprecated": false,
"id": "CVE-2022-49451-f0b969a0",
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"271961946401823156563131200001282023483",
"103507820981493997511317214374628076673",
"300871196399938107706990920240906128144",
"111089207416527628887298603030496236464"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b0e4bafac8963c2d85ee18d3d01f393735acceec",
"target": {
"file": "drivers/firmware/arm_scmi/base.c"
},
"deprecated": false,
"id": "CVE-2022-49451-fffe58b5",
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"271961946401823156563131200001282023483",
"103507820981493997511317214374628076673",
"300871196399938107706990920240906128144",
"111089207416527628887298603030496236464"
]
}
}
]