In the Linux kernel, the following vulnerability has been resolved:
thermal: core: Reference count the zone in thermalzonegetbyid()
There are places in the thermal netlink code where nothing prevents the thermal zone object from going away while being accessed after it has been returned by thermalzonegetbyid().
To address this, make thermalzonegetbyid() get a reference on the thermal zone device object to be returned with the help of getdevice(), under thermallist_lock, and adjust all of its callers to this change with the help of the cleanup.h infrastructure.
[
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "121309601178507088579033329358249983443",
"length": 498.0
},
"id": "CVE-2024-50028-0ff2180a",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a42a5839f400e929c489bb1b58f54596c4535167",
"target": {
"file": "drivers/thermal/thermal_netlink.c",
"function": "thermal_genl_cmd_tz_get_temp"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"139108111851575937828372129194286343954",
"3784587562723327345620183838087584233",
"173812783674563500905888889249845163972"
]
},
"id": "CVE-2024-50028-114a6c5d",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a42a5839f400e929c489bb1b58f54596c4535167",
"target": {
"file": "drivers/thermal/thermal_core.h"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "154669523568932392856924075181656928533",
"length": 522.0
},
"id": "CVE-2024-50028-13e52e67",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c95538b286efc6109c987e97a051bc7844ede802",
"target": {
"file": "drivers/thermal/thermal_netlink.c",
"function": "thermal_genl_cmd_tz_get_gov"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"288749004010287226832106187714092858796",
"300307494211473752706968646358151517269",
"87711336673262729396672401736107690668",
"244702416799818048695011782703825267461",
"302425124253141122790633389868417092400",
"280885659518830833330621636236692900546",
"10497774482338222743793465942803207289",
"68675096025258352985708313089329212851",
"24187918316512114702061006041183786395",
"6321668226020476224843597191538024461",
"19468019389153866938526288410582970448",
"218494870668185867468960547932600283405",
"302425124253141122790633389868417092400",
"280885659518830833330621636236692900546",
"10497774482338222743793465942803207289",
"280104688208769490806823748889149953376",
"189794216374131854042205455766993817095",
"112255771832199545003460059931299638103",
"180402849736034135608331931571443448693",
"162051159647428038778177376638177588757",
"302425124253141122790633389868417092400",
"280885659518830833330621636236692900546",
"10497774482338222743793465942803207289",
"320844557372528251564561598789043328455"
]
},
"id": "CVE-2024-50028-16692d8a",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a42a5839f400e929c489bb1b58f54596c4535167",
"target": {
"file": "drivers/thermal/thermal_netlink.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "121309601178507088579033329358249983443",
"length": 498.0
},
"id": "CVE-2024-50028-204c0fba",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c95538b286efc6109c987e97a051bc7844ede802",
"target": {
"file": "drivers/thermal/thermal_netlink.c",
"function": "thermal_genl_cmd_tz_get_temp"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"136364384513772582328013027233739398465",
"314188013078359314734994000089051641811",
"234344561571056095179664615799034230342",
"72136625575902704775289207468994357045"
]
},
"id": "CVE-2024-50028-4944e733",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c95538b286efc6109c987e97a051bc7844ede802",
"target": {
"file": "drivers/thermal/thermal_core.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "188125312093289037787852077732983576182",
"length": 260.0
},
"id": "CVE-2024-50028-5df6f47c",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a42a5839f400e929c489bb1b58f54596c4535167",
"target": {
"file": "drivers/thermal/thermal_core.c",
"function": "thermal_zone_get_by_id"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "186159317399085627562701204384490170689",
"length": 958.0
},
"id": "CVE-2024-50028-870411a7",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c95538b286efc6109c987e97a051bc7844ede802",
"target": {
"file": "drivers/thermal/thermal_netlink.c",
"function": "thermal_genl_cmd_tz_get_trip"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "188125312093289037787852077732983576182",
"length": 260.0
},
"id": "CVE-2024-50028-89695a76",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c95538b286efc6109c987e97a051bc7844ede802",
"target": {
"file": "drivers/thermal/thermal_core.c",
"function": "thermal_zone_get_by_id"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"288749004010287226832106187714092858796",
"300307494211473752706968646358151517269",
"87711336673262729396672401736107690668",
"244702416799818048695011782703825267461",
"302425124253141122790633389868417092400",
"280885659518830833330621636236692900546",
"10497774482338222743793465942803207289",
"68675096025258352985708313089329212851",
"24187918316512114702061006041183786395",
"6321668226020476224843597191538024461",
"19468019389153866938526288410582970448",
"218494870668185867468960547932600283405",
"302425124253141122790633389868417092400",
"280885659518830833330621636236692900546",
"10497774482338222743793465942803207289",
"280104688208769490806823748889149953376",
"189794216374131854042205455766993817095",
"112255771832199545003460059931299638103",
"180402849736034135608331931571443448693",
"162051159647428038778177376638177588757",
"302425124253141122790633389868417092400",
"280885659518830833330621636236692900546",
"10497774482338222743793465942803207289",
"320844557372528251564561598789043328455"
]
},
"id": "CVE-2024-50028-89b27dd3",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c95538b286efc6109c987e97a051bc7844ede802",
"target": {
"file": "drivers/thermal/thermal_netlink.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "154669523568932392856924075181656928533",
"length": 522.0
},
"id": "CVE-2024-50028-922499a8",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a42a5839f400e929c489bb1b58f54596c4535167",
"target": {
"file": "drivers/thermal/thermal_netlink.c",
"function": "thermal_genl_cmd_tz_get_gov"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"139108111851575937828372129194286343954",
"3784587562723327345620183838087584233",
"173812783674563500905888889249845163972"
]
},
"id": "CVE-2024-50028-c7e62b23",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c95538b286efc6109c987e97a051bc7844ede802",
"target": {
"file": "drivers/thermal/thermal_core.h"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "186159317399085627562701204384490170689",
"length": 958.0
},
"id": "CVE-2024-50028-cf0b11bf",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a42a5839f400e929c489bb1b58f54596c4535167",
"target": {
"file": "drivers/thermal/thermal_netlink.c",
"function": "thermal_genl_cmd_tz_get_trip"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"136364384513772582328013027233739398465",
"314188013078359314734994000089051641811",
"234344561571056095179664615799034230342",
"72136625575902704775289207468994357045"
]
},
"id": "CVE-2024-50028-ff859814",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a42a5839f400e929c489bb1b58f54596c4535167",
"target": {
"file": "drivers/thermal/thermal_core.c"
}
}
]