In the Linux kernel, the following vulnerability has been resolved:
net: wwan: iosm: fix NULL pointer dereference when removing device
In suspend and resume cycle, the removal and rescan of device ends up in NULL pointer dereference.
During driver initialization, if the ipcimemwwanchannelinit() fails to get the valid device capabilities it returns an error and further no resource (wwan struct) will be allocated. Now in this situation if driver removal procedure is initiated it would result in NULL pointer exception since unallocated wwan struct is dereferenced inside ipcwwandeinit().
ipcimemrunstateworker() to handle the called functions return value and to release the resource in failure case. It also reports the link down event in failure cases. The user space application can handle this event to do a device reset for restoring the device communication.
[
{
"id": "CVE-2023-53561-0497f175",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@60829145f1e2650b31ebe6a0ec70a9725b38fa2c",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/net/wwan/iosm/iosm_ipc_imem.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"259465466442576030830040697826899756304",
"58825785211328316588066592637938250424",
"95155625467020491324778299833847273586",
"163191880798755225248846117379431895133",
"291954383007753502193633490408659765609",
"133958779064504184876898256989982853051",
"47956950086801401030835514182178310126",
"185583947890777341649065752720686749453",
"294172356372971310492023008170654582403",
"260329194004201510984187952860311050580",
"110020291691942172774765291115166027669",
"299790393116365965508342182876387369736",
"339735215297628049852345598138566377833",
"96313601218414802950103976860041578105",
"132216792754855661286695911743195846374",
"225323760423674431111929500930304992498",
"253407023187507873723983942556375673119",
"216803097514649862993700923807840100306",
"104251859154585690060496010998763170522",
"256868954905651993781591132218476411188",
"254292230068270569229450735319986557483"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-53561-149003e5",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@862c6e3e26735247d8a4df41fa2421909c3f4d63",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/net/wwan/iosm/iosm_ipc_imem_ops.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"214054599327508993140742400150596108187",
"219531986014666796675292065863327817577",
"314967143575391428066954834259949043439",
"235778739990127163326140235385598814941",
"330730616057119696207213030944156406060",
"294787277397017437412799209566088100194",
"109719713925870743146100210645629835190",
"105605105249437814310444039894397214040",
"34594082574439592613495251419508999533",
"176867470581354257367480990638823378763",
"42309995748725021915065041521422550903",
"149105832501985698048240647803687132936",
"56390833286320704633366400776936946730",
"148858397257263015011345857221524823097",
"69072048143925241300400732071955379928"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-53561-33dc328a",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@60829145f1e2650b31ebe6a0ec70a9725b38fa2c",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "ipc_imem_wwan_channel_init",
"file": "drivers/net/wwan/iosm/iosm_ipc_imem_ops.c"
},
"digest": {
"function_hash": "308790036412764898817679525260385145396",
"length": 741.0
},
"signature_type": "Function"
},
{
"id": "CVE-2023-53561-36976c96",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@862c6e3e26735247d8a4df41fa2421909c3f4d63",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/net/wwan/iosm/iosm_ipc_imem.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"259465466442576030830040697826899756304",
"58825785211328316588066592637938250424",
"95155625467020491324778299833847273586",
"163191880798755225248846117379431895133",
"291954383007753502193633490408659765609",
"133958779064504184876898256989982853051",
"47956950086801401030835514182178310126",
"185583947890777341649065752720686749453",
"294172356372971310492023008170654582403",
"260329194004201510984187952860311050580",
"110020291691942172774765291115166027669",
"299790393116365965508342182876387369736",
"339735215297628049852345598138566377833",
"96313601218414802950103976860041578105",
"132216792754855661286695911743195846374",
"225323760423674431111929500930304992498",
"253407023187507873723983942556375673119",
"216803097514649862993700923807840100306",
"104251859154585690060496010998763170522",
"256868954905651993781591132218476411188",
"254292230068270569229450735319986557483"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-53561-37355f0d",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@60829145f1e2650b31ebe6a0ec70a9725b38fa2c",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/net/wwan/iosm/iosm_ipc_imem_ops.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"170946512343818243510794874182091600136",
"191612097353155611265491296185354679311",
"17222954125858173797055044272046007873",
"12637210644346068739550425173535746237",
"13353445271292234324391109573638769313"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-53561-59f156c3",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@862c6e3e26735247d8a4df41fa2421909c3f4d63",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "ipc_imem_wwan_channel_init",
"file": "drivers/net/wwan/iosm/iosm_ipc_imem_ops.c"
},
"digest": {
"function_hash": "308790036412764898817679525260385145396",
"length": 741.0
},
"signature_type": "Function"
},
{
"id": "CVE-2023-53561-6d6d4608",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ee44bacf462db3ec6e4f0dcfa7931e768670d77c",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/net/wwan/iosm/iosm_ipc_imem_ops.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"214054599327508993140742400150596108187",
"219531986014666796675292065863327817577",
"314967143575391428066954834259949043439",
"235778739990127163326140235385598814941",
"330730616057119696207213030944156406060",
"294787277397017437412799209566088100194",
"109719713925870743146100210645629835190",
"105605105249437814310444039894397214040",
"34594082574439592613495251419508999533",
"176867470581354257367480990638823378763",
"42309995748725021915065041521422550903",
"149105832501985698048240647803687132936",
"56390833286320704633366400776936946730",
"148858397257263015011345857221524823097",
"69072048143925241300400732071955379928"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-53561-6f3d84c5",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ee44bacf462db3ec6e4f0dcfa7931e768670d77c",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "ipc_imem_run_state_worker",
"file": "drivers/net/wwan/iosm/iosm_ipc_imem.c"
},
"digest": {
"function_hash": "190975700092530158948199533941416065163",
"length": 1106.0
},
"signature_type": "Function"
},
{
"id": "CVE-2023-53561-7834a5dc",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ee44bacf462db3ec6e4f0dcfa7931e768670d77c",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/net/wwan/iosm/iosm_ipc_imem_ops.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"170946512343818243510794874182091600136",
"191612097353155611265491296185354679311",
"17222954125858173797055044272046007873",
"12637210644346068739550425173535746237",
"13353445271292234324391109573638769313"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-53561-9299e92b",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@862c6e3e26735247d8a4df41fa2421909c3f4d63",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/net/wwan/iosm/iosm_ipc_imem_ops.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"170946512343818243510794874182091600136",
"191612097353155611265491296185354679311",
"17222954125858173797055044272046007873",
"12637210644346068739550425173535746237",
"13353445271292234324391109573638769313"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-53561-a3caa2a9",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ee44bacf462db3ec6e4f0dcfa7931e768670d77c",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/net/wwan/iosm/iosm_ipc_imem.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"259465466442576030830040697826899756304",
"58825785211328316588066592637938250424",
"95155625467020491324778299833847273586",
"163191880798755225248846117379431895133",
"291954383007753502193633490408659765609",
"133958779064504184876898256989982853051",
"47956950086801401030835514182178310126",
"185583947890777341649065752720686749453",
"294172356372971310492023008170654582403",
"260329194004201510984187952860311050580",
"110020291691942172774765291115166027669",
"299790393116365965508342182876387369736",
"339735215297628049852345598138566377833",
"96313601218414802950103976860041578105",
"132216792754855661286695911743195846374",
"225323760423674431111929500930304992498",
"253407023187507873723983942556375673119",
"216803097514649862993700923807840100306",
"104251859154585690060496010998763170522",
"256868954905651993781591132218476411188",
"254292230068270569229450735319986557483"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-53561-d6b4c65d",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@60829145f1e2650b31ebe6a0ec70a9725b38fa2c",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/net/wwan/iosm/iosm_ipc_imem_ops.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"214054599327508993140742400150596108187",
"219531986014666796675292065863327817577",
"314967143575391428066954834259949043439",
"235778739990127163326140235385598814941",
"330730616057119696207213030944156406060",
"294787277397017437412799209566088100194",
"109719713925870743146100210645629835190",
"105605105249437814310444039894397214040",
"34594082574439592613495251419508999533",
"176867470581354257367480990638823378763",
"42309995748725021915065041521422550903",
"149105832501985698048240647803687132936",
"56390833286320704633366400776936946730",
"148858397257263015011345857221524823097",
"69072048143925241300400732071955379928"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-53561-ee060feb",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ee44bacf462db3ec6e4f0dcfa7931e768670d77c",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "ipc_imem_wwan_channel_init",
"file": "drivers/net/wwan/iosm/iosm_ipc_imem_ops.c"
},
"digest": {
"function_hash": "308790036412764898817679525260385145396",
"length": 741.0
},
"signature_type": "Function"
},
{
"id": "CVE-2023-53561-f3966cce",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@862c6e3e26735247d8a4df41fa2421909c3f4d63",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "ipc_imem_run_state_worker",
"file": "drivers/net/wwan/iosm/iosm_ipc_imem.c"
},
"digest": {
"function_hash": "61015798878290952028601254456018341102",
"length": 1237.0
},
"signature_type": "Function"
},
{
"id": "CVE-2023-53561-fb282861",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@60829145f1e2650b31ebe6a0ec70a9725b38fa2c",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "ipc_imem_run_state_worker",
"file": "drivers/net/wwan/iosm/iosm_ipc_imem.c"
},
"digest": {
"function_hash": "61015798878290952028601254456018341102",
"length": 1237.0
},
"signature_type": "Function"
}
]