{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-48735","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2024-06-20T11:09:39.053Z","datePublished":"2024-06-20T11:13:22.065Z","dateUpdated":"2026-08-05T08:52:02.428Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T08:52:02.428Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: hda: Fix UAF of leds class devs at unbinding\n\nThe LED class devices that are created by HD-audio codec drivers are\nregistered via devm_led_classdev_register() and associated with the\nHD-audio codec device.  Unfortunately, it turned out that the devres\nrelease doesn't work for this case; namely, since the codec resource\nrelease happens before the devm call chain, it triggers a NULL\ndereference or a UAF for a stale set_brightness_delay callback.\n\nFor fixing the bug, this patch changes the LED class device register\nand unregister in a manual manner without devres, keeping the\ninstances in hda_gen_spec."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The bug is reached only through local HD-audio codec teardown (sysfs reconfig/clear, driver unbind, or module unload) and local LED/ALSA mute paths; it is not reachable from network packets or adjacent wireless frames.\nAC:L - On systems with HDA mute/micmute LED classdevs, unbinding deterministically frees codec->spec before delayed LED unregister/set_brightness work runs, and an attacker who can toggle mute LEDs controls the concurrent UAF side with no external timing dependency.\nPR:L - ALSA mixer and LED brightness interfaces used in the UAF window are commonly available to ordinary local audio/input-group users; while sysfs reconfig/unbind is root-owned, the highest-severity local scenario treats this as low privilege rather than init-namespace-only root, preferring the more severe PR value under uncertainty.\nUI:N - No separate victim action such as opening a file or mounting media is required; the attacker drives LED/mute activity and codec teardown from local userspace without tricking another user.\nS:U - Impact is confined to the host kernel’s own authority (crash or memory corruption for local privilege escalation); there is no VM, IOMMU, or sandbox boundary crossing.\nC:H - The commit documents a use-after-free of LED classdev/set_brightness_delayed state over freed codec spec objects, which can be reclaimed and leveraged for arbitrary kernel memory disclosure.\nI:H - A UAF on the freed hda_gen_spec/LED callback path enables heap spray and corruption of adjacent kernel objects, yielding arbitrary write / control-flow hijack primitives.\nA:H - Even without full exploitation, the teardown path NULL-dereferences or UAFs in LED brightness callbacks and causes a kernel oops/panic, fully impacting availability."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/pci/hda/hda_generic.c","sound/pci/hda/hda_generic.h"],"versions":[{"version":"15509b6344726de22bdbfff88b65341dd0dd33af","lessThan":"a7de1002135cf94367748ffc695a29812d7633b5","status":"affected","versionType":"git"},{"version":"15509b6344726de22bdbfff88b65341dd0dd33af","lessThan":"0e629052f013eeb61494d4df2f1f647c2a9aef47","status":"affected","versionType":"git"},{"version":"15509b6344726de22bdbfff88b65341dd0dd33af","lessThan":"813e9f3e06d22e29872d4fd51b54992d89cf66c8","status":"affected","versionType":"git"},{"version":"15509b6344726de22bdbfff88b65341dd0dd33af","lessThan":"549f8ffc7b2f7561bea7f90930b6c5104318e87b","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/pci/hda/hda_generic.c","sound/pci/hda/hda_generic.h"],"versions":[{"version":"5.9","status":"affected"},{"version":"0","lessThan":"5.9","status":"unaffected","versionType":"semver"},{"version":"5.10.99","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.22","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"5.16.8","lessThanOrEqual":"5.16.*","status":"unaffected","versionType":"semver"},{"version":"5.17","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"5.10.99"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"5.15.22"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"5.16.8"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"5.17"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/a7de1002135cf94367748ffc695a29812d7633b5"},{"url":"https://git.kernel.org/stable/c/0e629052f013eeb61494d4df2f1f647c2a9aef47"},{"url":"https://git.kernel.org/stable/c/813e9f3e06d22e29872d4fd51b54992d89cf66c8"},{"url":"https://git.kernel.org/stable/c/549f8ffc7b2f7561bea7f90930b6c5104318e87b"}],"title":"ALSA: hda: Fix UAF of leds class devs at unbinding","x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"providerMetadata":{"orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE","dateUpdated":"2024-08-03T15:25:00.531Z"},"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/a7de1002135cf94367748ffc695a29812d7633b5","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/0e629052f013eeb61494d4df2f1f647c2a9aef47","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/813e9f3e06d22e29872d4fd51b54992d89cf66c8","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/549f8ffc7b2f7561bea7f90930b6c5104318e87b","tags":["x_transferred"]}]},{"metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2022-48735","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-09-10T17:10:50.919175Z"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2024-09-11T17:34:48.755Z"}}]}}