In the Linux kernel, the following vulnerability has been resolved:
ALSA: hda: Fix UAF of leds class devs at unbinding
The LED class devices that are created by HD-audio codec drivers are registered via devmledclassdevregister() and associated with the HD-audio codec device. Unfortunately, it turned out that the devres release doesn't work for this case; namely, since the codec resource release happens before the devm call chain, it triggers a NULL dereference or a UAF for a stale setbrightness_delay callback.
For fixing the bug, this patch changes the LED class device register and unregister in a manual manner without devres, keeping the instances in hdagenspec.
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@549f8ffc7b2f7561bea7f90930b6c5104318e87b",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-48735-0aaed43a",
"target": {
"function": "snd_hda_gen_spec_free",
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"length": 160.0,
"function_hash": "299285315173819463448583479216405124564"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@549f8ffc7b2f7561bea7f90930b6c5104318e87b",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-48735-20516cc7",
"target": {
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"131530112744212879788111335518103206194",
"141725475931968866401361422903265270738",
"246906190310278524156471923129147172096",
"239150808338679207290099727059746752643",
"315318835758111652429161374456836440858",
"179421879942944414447834249705096013105",
"75695735743014228719455789911483261865",
"289541232838596340339245217372833533806",
"56508326807173479142684078065569437056",
"206314381687275845766694143923982473028",
"138391746026349481231114462488251128476",
"183940433156152667863487178556288107036",
"44195800771529828357384321369167850465",
"222841955626809444355207532465215750059",
"218558306415114513058463906811487588395"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@549f8ffc7b2f7561bea7f90930b6c5104318e87b",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-48735-2c5f444f",
"target": {
"file": "sound/pci/hda/hda_generic.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"287946398366646535304305511602276171769",
"186726818127005174799047158528110156081",
"40871500212247995285396332034699325439",
"63638610238423829348168783871448135630"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7de1002135cf94367748ffc695a29812d7633b5",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-48735-42d85328",
"target": {
"file": "sound/pci/hda/hda_generic.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"287946398366646535304305511602276171769",
"186726818127005174799047158528110156081",
"40871500212247995285396332034699325439",
"63638610238423829348168783871448135630"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@549f8ffc7b2f7561bea7f90930b6c5104318e87b",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-48735-550985f0",
"target": {
"function": "create_mute_led_cdev",
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"length": 573.0,
"function_hash": "228033602481531605612249612111400712238"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0e629052f013eeb61494d4df2f1f647c2a9aef47",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-48735-5caacfce",
"target": {
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"131530112744212879788111335518103206194",
"141725475931968866401361422903265270738",
"246906190310278524156471923129147172096",
"239150808338679207290099727059746752643",
"315318835758111652429161374456836440858",
"179421879942944414447834249705096013105",
"75695735743014228719455789911483261865",
"289541232838596340339245217372833533806",
"56508326807173479142684078065569437056",
"206314381687275845766694143923982473028",
"138391746026349481231114462488251128476",
"183940433156152667863487178556288107036",
"44195800771529828357384321369167850465",
"222841955626809444355207532465215750059",
"218558306415114513058463906811487588395"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0e629052f013eeb61494d4df2f1f647c2a9aef47",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-48735-66a14193",
"target": {
"function": "create_mute_led_cdev",
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"length": 573.0,
"function_hash": "228033602481531605612249612111400712238"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0e629052f013eeb61494d4df2f1f647c2a9aef47",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-48735-9a167e7d",
"target": {
"function": "snd_hda_gen_spec_free",
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"length": 160.0,
"function_hash": "299285315173819463448583479216405124564"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7de1002135cf94367748ffc695a29812d7633b5",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-48735-9b687c82",
"target": {
"function": "snd_hda_gen_spec_free",
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"length": 160.0,
"function_hash": "299285315173819463448583479216405124564"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@813e9f3e06d22e29872d4fd51b54992d89cf66c8",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-48735-a9605b35",
"target": {
"file": "sound/pci/hda/hda_generic.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"287946398366646535304305511602276171769",
"186726818127005174799047158528110156081",
"40871500212247995285396332034699325439",
"63638610238423829348168783871448135630"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7de1002135cf94367748ffc695a29812d7633b5",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-48735-b4d5adc9",
"target": {
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"131530112744212879788111335518103206194",
"141725475931968866401361422903265270738",
"246906190310278524156471923129147172096",
"239150808338679207290099727059746752643",
"315318835758111652429161374456836440858",
"179421879942944414447834249705096013105",
"75695735743014228719455789911483261865",
"289541232838596340339245217372833533806",
"56508326807173479142684078065569437056",
"206314381687275845766694143923982473028",
"138391746026349481231114462488251128476",
"183940433156152667863487178556288107036",
"44195800771529828357384321369167850465",
"249939781681471711412416381190004539015",
"238556041243057846483245049097443779611"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7de1002135cf94367748ffc695a29812d7633b5",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-48735-c5d58831",
"target": {
"function": "create_mute_led_cdev",
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"length": 573.0,
"function_hash": "228033602481531605612249612111400712238"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@813e9f3e06d22e29872d4fd51b54992d89cf66c8",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-48735-ce29530a",
"target": {
"function": "snd_hda_gen_spec_free",
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"length": 160.0,
"function_hash": "299285315173819463448583479216405124564"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@813e9f3e06d22e29872d4fd51b54992d89cf66c8",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-48735-d41191f4",
"target": {
"function": "create_mute_led_cdev",
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"length": 573.0,
"function_hash": "228033602481531605612249612111400712238"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0e629052f013eeb61494d4df2f1f647c2a9aef47",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-48735-dde896d5",
"target": {
"file": "sound/pci/hda/hda_generic.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"287946398366646535304305511602276171769",
"186726818127005174799047158528110156081",
"40871500212247995285396332034699325439",
"63638610238423829348168783871448135630"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@813e9f3e06d22e29872d4fd51b54992d89cf66c8",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2022-48735-f845bd9f",
"target": {
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"131530112744212879788111335518103206194",
"141725475931968866401361422903265270738",
"246906190310278524156471923129147172096",
"239150808338679207290099727059746752643",
"315318835758111652429161374456836440858",
"179421879942944414447834249705096013105",
"75695735743014228719455789911483261865",
"289541232838596340339245217372833533806",
"56508326807173479142684078065569437056",
"206314381687275845766694143923982473028",
"138391746026349481231114462488251128476",
"183940433156152667863487178556288107036",
"44195800771529828357384321369167850465",
"222841955626809444355207532465215750059",
"218558306415114513058463906811487588395"
]
},
"signature_type": "Line"
}
]