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.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/48xxx/CVE-2022-48735.json"
}[
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "sound/pci/hda/hda_generic.h"
},
"digest": {
"line_hashes": [
"287946398366646535304305511602276171769",
"186726818127005174799047158528110156081",
"40871500212247995285396332034699325439",
"63638610238423829348168783871448135630"
],
"threshold": 0.9
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7de1002135cf94367748ffc695a29812d7633b5",
"id": "CVE-2022-48735-42d85328"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"line_hashes": [
"131530112744212879788111335518103206194",
"141725475931968866401361422903265270738",
"246906190310278524156471923129147172096",
"239150808338679207290099727059746752643",
"315318835758111652429161374456836440858",
"179421879942944414447834249705096013105",
"75695735743014228719455789911483261865",
"289541232838596340339245217372833533806",
"56508326807173479142684078065569437056",
"206314381687275845766694143923982473028",
"138391746026349481231114462488251128476",
"183940433156152667863487178556288107036",
"44195800771529828357384321369167850465",
"222841955626809444355207532465215750059",
"218558306415114513058463906811487588395"
],
"threshold": 0.9
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0e629052f013eeb61494d4df2f1f647c2a9aef47",
"id": "CVE-2022-48735-5caacfce"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "create_mute_led_cdev",
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"function_hash": "228033602481531605612249612111400712238",
"length": 573.0
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0e629052f013eeb61494d4df2f1f647c2a9aef47",
"id": "CVE-2022-48735-66a14193"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "snd_hda_gen_spec_free",
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"function_hash": "299285315173819463448583479216405124564",
"length": 160.0
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0e629052f013eeb61494d4df2f1f647c2a9aef47",
"id": "CVE-2022-48735-9a167e7d"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "snd_hda_gen_spec_free",
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"function_hash": "299285315173819463448583479216405124564",
"length": 160.0
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7de1002135cf94367748ffc695a29812d7633b5",
"id": "CVE-2022-48735-9b687c82"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "sound/pci/hda/hda_generic.h"
},
"digest": {
"line_hashes": [
"287946398366646535304305511602276171769",
"186726818127005174799047158528110156081",
"40871500212247995285396332034699325439",
"63638610238423829348168783871448135630"
],
"threshold": 0.9
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@813e9f3e06d22e29872d4fd51b54992d89cf66c8",
"id": "CVE-2022-48735-a9605b35"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"line_hashes": [
"131530112744212879788111335518103206194",
"141725475931968866401361422903265270738",
"246906190310278524156471923129147172096",
"239150808338679207290099727059746752643",
"315318835758111652429161374456836440858",
"179421879942944414447834249705096013105",
"75695735743014228719455789911483261865",
"289541232838596340339245217372833533806",
"56508326807173479142684078065569437056",
"206314381687275845766694143923982473028",
"138391746026349481231114462488251128476",
"183940433156152667863487178556288107036",
"44195800771529828357384321369167850465",
"249939781681471711412416381190004539015",
"238556041243057846483245049097443779611"
],
"threshold": 0.9
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7de1002135cf94367748ffc695a29812d7633b5",
"id": "CVE-2022-48735-b4d5adc9"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "create_mute_led_cdev",
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"function_hash": "228033602481531605612249612111400712238",
"length": 573.0
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7de1002135cf94367748ffc695a29812d7633b5",
"id": "CVE-2022-48735-c5d58831"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "snd_hda_gen_spec_free",
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"function_hash": "299285315173819463448583479216405124564",
"length": 160.0
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@813e9f3e06d22e29872d4fd51b54992d89cf66c8",
"id": "CVE-2022-48735-ce29530a"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "create_mute_led_cdev",
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"function_hash": "228033602481531605612249612111400712238",
"length": 573.0
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@813e9f3e06d22e29872d4fd51b54992d89cf66c8",
"id": "CVE-2022-48735-d41191f4"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "sound/pci/hda/hda_generic.h"
},
"digest": {
"line_hashes": [
"287946398366646535304305511602276171769",
"186726818127005174799047158528110156081",
"40871500212247995285396332034699325439",
"63638610238423829348168783871448135630"
],
"threshold": 0.9
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0e629052f013eeb61494d4df2f1f647c2a9aef47",
"id": "CVE-2022-48735-dde896d5"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "sound/pci/hda/hda_generic.c"
},
"digest": {
"line_hashes": [
"131530112744212879788111335518103206194",
"141725475931968866401361422903265270738",
"246906190310278524156471923129147172096",
"239150808338679207290099727059746752643",
"315318835758111652429161374456836440858",
"179421879942944414447834249705096013105",
"75695735743014228719455789911483261865",
"289541232838596340339245217372833533806",
"56508326807173479142684078065569437056",
"206314381687275845766694143923982473028",
"138391746026349481231114462488251128476",
"183940433156152667863487178556288107036",
"44195800771529828357384321369167850465",
"222841955626809444355207532465215750059",
"218558306415114513058463906811487588395"
],
"threshold": 0.9
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@813e9f3e06d22e29872d4fd51b54992d89cf66c8",
"id": "CVE-2022-48735-f845bd9f"
}
]
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-48735.json"