CVE-2023-52736

ALSA: hda: Do not unset preset when cleaning up codec

State
Published
Severity
Not scored
Published
May 21, 2024
Updated
May 11, 2026
Reserved
May 21, 2024

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

ALSA: hda: Do not unset preset when cleaning up codec

Several functions that take part in codec's initialization and removal are re-used by ASoC codec drivers implementations. Drivers mimic the behavior of hda_codec_driver_probe/remove() found in sound/pci/hda/hda_bind.c with their component->probe/remove() instead.

One of the reasons for that is the expectation of snd_hda_codec_device_new() to receive a valid pointer to an instance of struct snd_card. This expectation can be met only once sound card components probing commences.

As ASoC sound card may be unbound without codec device being actually removed from the system, unsetting ->preset in snd_hda_codec_cleanup_for_unbind() interferes with module unload -> load scenario causing null-ptr-deref. Preset is assigned only once, during device/driver matching whereas ASoC codec driver's module reloading may occur several times throughout the lifetime of an audio stack.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 9a6246ff78ac33af78f82704cde6fec361597eea to before 7fc4e7191eae9d9325511e03deadfdb2224914f8Affected
  • 9a6246ff78ac33af78f82704cde6fec361597eea to before e909f5f2aa55a8f9aa6919cce08015cb0e8d4668Affected
  • 9a6246ff78ac33af78f82704cde6fec361597eea to before 427ca2530da8dc61a42620d7113b05e187b6c2c0Affected
  • 9a6246ff78ac33af78f82704cde6fec361597eea to before 87978e6ad45a16835cc58234451111091be3c59aAffected
LinuxLinux
  • 4.1Affected
  • before 4.1Not affected
  • 5.10.169 through 5.10.*Not affected
  • 5.15.95 through 5.15.*Not affected
  • 6.1.13 through 6.1.*Not affected
  • 6.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.