In the Linux kernel, the following vulnerability has been resolved:
bnxt: prevent skb UAF after handing over to PTP worker
When reading the timestamp is required bnxttxint() hands over the ownership of the completed skb to the PTP worker. The skb should not be used afterwards, as the worker may run before the rest of our code and free the skb, leading to a use-after-free.
Since devkfreeskb_any() accepts NULL make the loss of ownership more obvious and set skb to NULL.
[
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c31f26c8f69f776759cbbdfb38e40ea91aa0dd65",
"signature_type": "Function",
"target": {
"function": "bnxt_tx_int",
"file": "drivers/net/ethernet/broadcom/bnxt/bnxt.c"
},
"id": "CVE-2022-48637-2f6db6ff",
"digest": {
"length": 1430.0,
"function_hash": "316267146830953231345712757865115956991"
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c31f26c8f69f776759cbbdfb38e40ea91aa0dd65",
"signature_type": "Line",
"target": {
"file": "drivers/net/ethernet/broadcom/bnxt/bnxt.c"
},
"id": "CVE-2022-48637-3ff7a43b",
"digest": {
"line_hashes": [
"104024397048817195886048066335005342182",
"284790443778023647183023086628030773705",
"256463390621561806738783061924451896682",
"178973642827145097871458552109606507710",
"128281475818806806066324208203267359758",
"90042510635901984187925405461547725578",
"74752017746796874045016006641827514021",
"86037422577214728037652188995176909211",
"101536241873372552591323842081500399425",
"12613983573845051301520873921503066784",
"218125984698243220932452164538666447338",
"75415621113731221555653591630853286097",
"307750511208041638573854115958156676721",
"73516778410270785305572103090921695764",
"117142246519912210709046121725774768581",
"296352532112821118888082281795943984505",
"103926791992121011494104301141557125224",
"112267823454468282751248264968840073785",
"14885506329976524987742322512464190708"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@08483e4c0c83b221b8891434a04cec405dee94a6",
"signature_type": "Line",
"target": {
"file": "drivers/net/ethernet/broadcom/bnxt/bnxt.c"
},
"id": "CVE-2022-48637-5ebbe6c9",
"digest": {
"line_hashes": [
"104024397048817195886048066335005342182",
"284790443778023647183023086628030773705",
"256463390621561806738783061924451896682",
"178973642827145097871458552109606507710",
"128281475818806806066324208203267359758",
"90042510635901984187925405461547725578",
"74752017746796874045016006641827514021",
"86037422577214728037652188995176909211",
"101536241873372552591323842081500399425",
"12613983573845051301520873921503066784",
"218125984698243220932452164538666447338",
"75415621113731221555653591630853286097",
"307750511208041638573854115958156676721",
"73516778410270785305572103090921695764",
"117142246519912210709046121725774768581",
"296352532112821118888082281795943984505",
"103926791992121011494104301141557125224",
"112267823454468282751248264968840073785",
"14885506329976524987742322512464190708"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@08483e4c0c83b221b8891434a04cec405dee94a6",
"signature_type": "Function",
"target": {
"function": "bnxt_tx_int",
"file": "drivers/net/ethernet/broadcom/bnxt/bnxt.c"
},
"id": "CVE-2022-48637-b02d8d10",
"digest": {
"length": 1430.0,
"function_hash": "316267146830953231345712757865115956991"
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@32afa1f23e42cc635ccf4c39f24514d03d1e8338",
"signature_type": "Function",
"target": {
"function": "bnxt_tx_int",
"file": "drivers/net/ethernet/broadcom/bnxt/bnxt.c"
},
"id": "CVE-2022-48637-ba6997ff",
"digest": {
"length": 1430.0,
"function_hash": "316267146830953231345712757865115956991"
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@32afa1f23e42cc635ccf4c39f24514d03d1e8338",
"signature_type": "Line",
"target": {
"file": "drivers/net/ethernet/broadcom/bnxt/bnxt.c"
},
"id": "CVE-2022-48637-f5f587fd",
"digest": {
"line_hashes": [
"104024397048817195886048066335005342182",
"284790443778023647183023086628030773705",
"256463390621561806738783061924451896682",
"178973642827145097871458552109606507710",
"128281475818806806066324208203267359758",
"90042510635901984187925405461547725578",
"74752017746796874045016006641827514021",
"86037422577214728037652188995176909211",
"101536241873372552591323842081500399425",
"12613983573845051301520873921503066784",
"218125984698243220932452164538666447338",
"75415621113731221555653591630853286097",
"307750511208041638573854115958156676721",
"73516778410270785305572103090921695764",
"117142246519912210709046121725774768581",
"296352532112821118888082281795943984505",
"103926791992121011494104301141557125224",
"112267823454468282751248264968840073785",
"14885506329976524987742322512464190708"
],
"threshold": 0.9
},
"deprecated": false
}
]