In the Linux kernel, the following vulnerability has been resolved:
scsi: elx: libefc: Fix potential use after free in efcnportvport_del()
The krefput() function will call nport->release if the refcount drops to zero. The nport->release release function is _efcnport_free() which frees "nport". But then we dereference "nport" on the next line which is a use after free. Re-order these lines to avoid the use after free.
[
{
"target": {
"function": "efc_nport_vport_del",
"file": "drivers/scsi/elx/libefc/efc_nport.c"
},
"id": "CVE-2024-49852-28bd04f7",
"digest": {
"function_hash": "280162685219552148459400529184688280550",
"length": 781.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@16a570f07d870a285b0c0b0d1ca4dff79e8aa5ff",
"signature_type": "Function"
},
{
"target": {
"function": "efc_nport_vport_del",
"file": "drivers/scsi/elx/libefc/efc_nport.c"
},
"id": "CVE-2024-49852-2b0cf368",
"digest": {
"function_hash": "280162685219552148459400529184688280550",
"length": 781.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@abc71e89170ed32ecf0a5a29f31aa711e143e941",
"signature_type": "Function"
},
{
"target": {
"function": "efc_nport_vport_del",
"file": "drivers/scsi/elx/libefc/efc_nport.c"
},
"id": "CVE-2024-49852-45001b42",
"digest": {
"function_hash": "280162685219552148459400529184688280550",
"length": 781.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@baeb8628ab7f4577740f00e439d3fdf7c876b0ff",
"signature_type": "Function"
},
{
"target": {
"function": "efc_nport_vport_del",
"file": "drivers/scsi/elx/libefc/efc_nport.c"
},
"id": "CVE-2024-49852-6212da68",
"digest": {
"function_hash": "280162685219552148459400529184688280550",
"length": 781.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2e4b02fad094976763af08fec2c620f4f8edd9ae",
"signature_type": "Function"
},
{
"target": {
"function": "efc_nport_vport_del",
"file": "drivers/scsi/elx/libefc/efc_nport.c"
},
"id": "CVE-2024-49852-676a2cce",
"digest": {
"function_hash": "280162685219552148459400529184688280550",
"length": 781.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@98752fcd076a8cbc978016eae7125b4971be1eec",
"signature_type": "Function"
},
{
"target": {
"function": "efc_nport_vport_del",
"file": "drivers/scsi/elx/libefc/efc_nport.c"
},
"id": "CVE-2024-49852-82b1e581",
"digest": {
"function_hash": "280162685219552148459400529184688280550",
"length": 781.0
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7c2908985e4ae0ea1b526b3916de9e5351650908",
"signature_type": "Function"
},
{
"target": {
"file": "drivers/scsi/elx/libefc/efc_nport.c"
},
"id": "CVE-2024-49852-8a5336f8",
"digest": {
"line_hashes": [
"329757863330609958076694046973973321498",
"123620746088063997126052115296904278475",
"85354559031321177869239268382983273334",
"143578527096149041574161096301280289963",
"125843678693703261724113890890028372627"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@baeb8628ab7f4577740f00e439d3fdf7c876b0ff",
"signature_type": "Line"
},
{
"target": {
"file": "drivers/scsi/elx/libefc/efc_nport.c"
},
"id": "CVE-2024-49852-90c713eb",
"digest": {
"line_hashes": [
"329757863330609958076694046973973321498",
"123620746088063997126052115296904278475",
"85354559031321177869239268382983273334",
"143578527096149041574161096301280289963",
"125843678693703261724113890890028372627"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2e4b02fad094976763af08fec2c620f4f8edd9ae",
"signature_type": "Line"
},
{
"target": {
"file": "drivers/scsi/elx/libefc/efc_nport.c"
},
"id": "CVE-2024-49852-94e31d64",
"digest": {
"line_hashes": [
"329757863330609958076694046973973321498",
"123620746088063997126052115296904278475",
"85354559031321177869239268382983273334",
"143578527096149041574161096301280289963",
"125843678693703261724113890890028372627"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7c2908985e4ae0ea1b526b3916de9e5351650908",
"signature_type": "Line"
},
{
"target": {
"file": "drivers/scsi/elx/libefc/efc_nport.c"
},
"id": "CVE-2024-49852-94f63836",
"digest": {
"line_hashes": [
"329757863330609958076694046973973321498",
"123620746088063997126052115296904278475",
"85354559031321177869239268382983273334",
"143578527096149041574161096301280289963",
"125843678693703261724113890890028372627"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@16a570f07d870a285b0c0b0d1ca4dff79e8aa5ff",
"signature_type": "Line"
},
{
"target": {
"file": "drivers/scsi/elx/libefc/efc_nport.c"
},
"id": "CVE-2024-49852-9ee2e3d0",
"digest": {
"line_hashes": [
"329757863330609958076694046973973321498",
"123620746088063997126052115296904278475",
"85354559031321177869239268382983273334",
"143578527096149041574161096301280289963",
"125843678693703261724113890890028372627"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@98752fcd076a8cbc978016eae7125b4971be1eec",
"signature_type": "Line"
},
{
"target": {
"file": "drivers/scsi/elx/libefc/efc_nport.c"
},
"id": "CVE-2024-49852-b152d611",
"digest": {
"line_hashes": [
"329757863330609958076694046973973321498",
"123620746088063997126052115296904278475",
"85354559031321177869239268382983273334",
"143578527096149041574161096301280289963",
"125843678693703261724113890890028372627"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@abc71e89170ed32ecf0a5a29f31aa711e143e941",
"signature_type": "Line"
}
]