In the Linux kernel, the following vulnerability has been resolved:
wifi: rtlwifi: fix memory leaks and invalid access at probe error path
Deinitialize at reverse order when probe fails.
When initswvars fails, rtldeinitcore should not be called, specially now that it destroys the rtl_wq workqueue.
And call rtlpcideinit and deinitswvars, otherwise, memory will be leaked.
Remove pcisetdrvdata call as it will already be cleaned up by the core driver code and could lead to memory leaks too. cf. commit 8d450935ae7f ("wireless: rtlwifi: remove unnecessary pcisetdrvdata()") and commit 3d86b93064c7 ("rtlwifi: Fix PCI probe error path orphaned memory").
[
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"304705298353477139371444059756075787389",
"243648545580071270317177091389014701846",
"94769177557420096164980194433068233958",
"263417865888503638283906730029190731874",
"46888487164308674341427390423427366106",
"239607126415253058849048386409239663179",
"93265302080210874767437777775736389261",
"837455460417920699482421352981668862",
"69793768696142052047954345122767357326",
"15499455274041984735599795936833820011",
"252528845577569082917324658601328113410",
"124727066636118675130421967731791717811",
"109801155338527701221011768099762262784",
"322051781626171480169029467189951004945",
"24099958194918954210452981715206906335",
"57829939898996951906285163419312331367",
"57405118490915658047769040411553101964",
"101315176686111284482250076477892422148",
"149752350294633255335079279531973751257",
"176808783344356306415650346707675321898"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@455e0f40b5352186a9095f2135d5c89255e7c39a",
"target": {
"file": "drivers/net/wireless/realtek/rtlwifi/pci.c"
},
"id": "CVE-2024-58063-134d596b"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 3620.0,
"function_hash": "243169683275174287425751139687186242840"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@85b67b4c4a0f8a6fb20cf4ef7684ff2b0cf559df",
"target": {
"file": "drivers/net/wireless/realtek/rtlwifi/pci.c",
"function": "rtl_pci_probe"
},
"id": "CVE-2024-58063-1841d4cb"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 3631.0,
"function_hash": "43947937241833572723190716874854162804"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@624cea89a0865a2bc3e00182a6b0f954a94328b4",
"target": {
"file": "drivers/net/wireless/realtek/rtlwifi/pci.c",
"function": "rtl_pci_probe"
},
"id": "CVE-2024-58063-2f0d70af"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"304705298353477139371444059756075787389",
"243648545580071270317177091389014701846",
"31625241321823776532703501620594663432",
"84350582114917058094850747983132330451",
"46888487164308674341427390423427366106",
"239607126415253058849048386409239663179",
"93265302080210874767437777775736389261",
"837455460417920699482421352981668862",
"69793768696142052047954345122767357326",
"15499455274041984735599795936833820011",
"252528845577569082917324658601328113410",
"124727066636118675130421967731791717811",
"109801155338527701221011768099762262784",
"322051781626171480169029467189951004945",
"24099958194918954210452981715206906335",
"57829939898996951906285163419312331367",
"57405118490915658047769040411553101964",
"101315176686111284482250076477892422148",
"149752350294633255335079279531973751257",
"176808783344356306415650346707675321898"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6b76bab5c257463302c9e97f5d84d524457468eb",
"target": {
"file": "drivers/net/wireless/realtek/rtlwifi/pci.c"
},
"id": "CVE-2024-58063-682fcab4"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 3656.0,
"function_hash": "252292924320514834494846217280810942790"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@455e0f40b5352186a9095f2135d5c89255e7c39a",
"target": {
"file": "drivers/net/wireless/realtek/rtlwifi/pci.c",
"function": "rtl_pci_probe"
},
"id": "CVE-2024-58063-715dc3e0"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"304705298353477139371444059756075787389",
"243648545580071270317177091389014701846",
"94769177557420096164980194433068233958",
"263417865888503638283906730029190731874",
"46888487164308674341427390423427366106",
"239607126415253058849048386409239663179",
"93265302080210874767437777775736389261",
"837455460417920699482421352981668862",
"69793768696142052047954345122767357326",
"15499455274041984735599795936833820011",
"252528845577569082917324658601328113410",
"124727066636118675130421967731791717811",
"109801155338527701221011768099762262784",
"322051781626171480169029467189951004945",
"24099958194918954210452981715206906335",
"57829939898996951906285163419312331367",
"57405118490915658047769040411553101964",
"101315176686111284482250076477892422148",
"149752350294633255335079279531973751257",
"176808783344356306415650346707675321898"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@85b67b4c4a0f8a6fb20cf4ef7684ff2b0cf559df",
"target": {
"file": "drivers/net/wireless/realtek/rtlwifi/pci.c"
},
"id": "CVE-2024-58063-9914765b"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"304705298353477139371444059756075787389",
"243648545580071270317177091389014701846",
"31625241321823776532703501620594663432",
"84350582114917058094850747983132330451",
"46888487164308674341427390423427366106",
"239607126415253058849048386409239663179",
"93265302080210874767437777775736389261",
"837455460417920699482421352981668862",
"69793768696142052047954345122767357326",
"15499455274041984735599795936833820011",
"252528845577569082917324658601328113410",
"124727066636118675130421967731791717811",
"109801155338527701221011768099762262784",
"322051781626171480169029467189951004945",
"24099958194918954210452981715206906335",
"57829939898996951906285163419312331367",
"57405118490915658047769040411553101964",
"101315176686111284482250076477892422148",
"149752350294633255335079279531973751257",
"176808783344356306415650346707675321898"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@624cea89a0865a2bc3e00182a6b0f954a94328b4",
"target": {
"file": "drivers/net/wireless/realtek/rtlwifi/pci.c"
},
"id": "CVE-2024-58063-b1be037f"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 3631.0,
"function_hash": "43947937241833572723190716874854162804"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6b76bab5c257463302c9e97f5d84d524457468eb",
"target": {
"file": "drivers/net/wireless/realtek/rtlwifi/pci.c",
"function": "rtl_pci_probe"
},
"id": "CVE-2024-58063-bfb90da3"
}
]