CVE-2024-46798

Source
https://cve.org/CVERecord?id=CVE-2024-46798
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-46798.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-46798
Downstream
Related
Published
2024-09-18T07:12:52.628Z
Modified
2026-05-28T03:53:46.465355523Z
Summary
ASoC: dapm: Fix UAF for snd_soc_pcm_runtime object
Details

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

ASoC: dapm: Fix UAF for sndsocpcm_runtime object

When using kernel with the following extra config,

  • CONFIG_KASAN=y
  • CONFIGKASANGENERIC=y
  • CONFIGKASANINLINE=y
  • CONFIGKASANVMALLOC=y
  • CONFIGFRAMEWARN=4096

kernel detects that sndpcmsuspendall() access a freed 'sndsocpcmruntime' object when the system is suspended, which leads to a use-after-free bug:

[ 52.047746] BUG: KASAN: use-after-free in sndpcmsuspend_all+0x1a8/0x270 [ 52.047765] Read of size 1 at addr ffff0000b9434d50 by task systemd-sleep/2330

[ 52.047785] Call trace: [ 52.047787] dumpbacktrace+0x0/0x3c0 [ 52.047794] showstack+0x34/0x50 [ 52.047797] dumpstacklvl+0x68/0x8c [ 52.047802] printaddressdescription.constprop.0+0x74/0x2c0 [ 52.047809] kasan_report+0x210/0x230 [ 52.047815] __asanreportload1noabort+0x3c/0x50 [ 52.047820] sndpcmsuspendall+0x1a8/0x270 [ 52.047824] sndsocsuspend+0x19c/0x4e0

The sndpcmsync_stop() has a NULL check on 'substream->runtime' before making any access. So we need to always set 'substream->runtime' to NULL everytime we kfree() it.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/46xxx/CVE-2024-46798.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
a72706ed8208ac3f72d1c3ebbc6509e368b0dcb0
Fixed
993b60c7f93fa1d8ff296b58f646a867e945ae89
Fixed
8ca21e7a27c66b95a4b215edc8e45e5d66679f9f
Fixed
3033ed903b4f28b5e1ab66042084fbc2c48f8624
Fixed
fe5046ca91d631ec432eee3bdb1f1c49b09c8b5e
Fixed
5d13afd021eb43868fe03cef6da34ad08831ad6d
Fixed
6a14fad8be178df6c4589667efec1789a3307b4e
Fixed
b4a90b543d9f62d3ac34ec1ab97fc5334b048565

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-46798.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.4.0
Fixed
5.4.284
Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.226
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.167
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.110
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.51
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.10.10

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-46798.json"