180 lines
11 KiB
JSON
180 lines
11 KiB
JSON
{
|
|
"dataType": "CVE_RECORD",
|
|
"dataVersion": "5.2",
|
|
"cveMetadata": {
|
|
"cveId": "CVE-2023-53640",
|
|
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"state": "PUBLISHED",
|
|
"assignerShortName": "Linux",
|
|
"dateReserved": "2025-10-07T15:16:59.658Z",
|
|
"datePublished": "2025-10-07T15:19:40.348Z",
|
|
"dateUpdated": "2026-08-05T09:15:17.951Z"
|
|
},
|
|
"containers": {
|
|
"cna": {
|
|
"providerMetadata": {
|
|
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"shortName": "Linux",
|
|
"dateUpdated": "2026-08-05T09:15:17.951Z"
|
|
},
|
|
"descriptions": [
|
|
{
|
|
"lang": "en",
|
|
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: lpass: Fix for KASAN use_after_free out of bounds\n\nWhen we run syzkaller we get below Out of Bounds error.\n\n\"KASAN: slab-out-of-bounds Read in regcache_flat_read\"\n\nBelow is the backtrace of the issue:\n\nBUG: KASAN: slab-out-of-bounds in regcache_flat_read+0x10c/0x110\nRead of size 4 at addr ffffff8088fbf714 by task syz-executor.4/14144\nCPU: 6 PID: 14144 Comm: syz-executor.4 Tainted: G W\nHardware name: Qualcomm Technologies, Inc. sc7280 CRD platform (rev5+) (DT)\nCall trace:\ndump_backtrace+0x0/0x4ec\nshow_stack+0x34/0x50\ndump_stack_lvl+0xdc/0x11c\nprint_address_description+0x30/0x2d8\nkasan_report+0x178/0x1e4\n__asan_report_load4_noabort+0x44/0x50\nregcache_flat_read+0x10c/0x110\nregcache_read+0xf8/0x5a0\n_regmap_read+0x45c/0x86c\n_regmap_update_bits+0x128/0x290\nregmap_update_bits_base+0xc0/0x15c\nsnd_soc_component_update_bits+0xa8/0x22c\nsnd_soc_component_write_field+0x68/0xd4\ntx_macro_put_dec_enum+0x1d0/0x268\nsnd_ctl_elem_write+0x288/0x474\n\nBy Error checking and checking valid values issue gets rectifies."
|
|
}
|
|
],
|
|
"metrics": [
|
|
{
|
|
"cvssV3_1": {
|
|
"version": "3.1",
|
|
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H",
|
|
"baseScore": 7.3,
|
|
"baseSeverity": "HIGH"
|
|
},
|
|
"scenarios": [
|
|
{
|
|
"lang": "en",
|
|
"value": "AV:L - The vulnerability is reached through an SNDRV_CTL_IOCTL_ELEM_WRITE ioctl on the local ALSA control device /dev/snd/controlC*, targeting the \"TX SMIC MUXn\" DAPM mux control. There is no network-facing path to lpass-tx-macro.\nAC:L - A single ioctl with an attacker-chosen 32-bit enumerated value deterministically produces the out-of-bounds access; the attacker directly selects the offending register offset via val, with no race, timing, or memory-layout precondition.\nPR:L - The attacker needs only an unprivileged local account with access to the sound control device (granted by udev ACL/audio group on desktops, and demonstrated by syzkaller running as an ordinary user process on sc7280); snd_ctl_elem_write performs no capability check.\nUI:N - The attacker triggers the bug entirely from their own process with one ioctl; no victim action, no file open, and no device plug-in is required.\nS:U - The out-of-bounds access and the resulting corruption/crash are confined to the kernel's own memory and the codec device it manages, with no crossing into a different security authority such as a hypervisor or IOMMU boundary.\nC:H - regcache_flat_read() performs an unchecked 4-byte read at an attacker-selected index up to 16383 into a 491-entry array, exposing up to ~63.5 KB of adjacent kernel heap, and the read value is observable as a repeatable oracle since the subsequent write (and its dev_err/return code) only occurs when the leaked word's masked bits differ from tx->dmic_clk_div.\nI:L - The out-of-bounds cache write is blocked by regmap_writeable()'s max_register check, but the u16 truncation of dmic_clk_reg lets the attacker force a 3-bit CDC_TX_SWR_DMIC_CLK_SEL field into any writable TX-macro register and its regcache entry, giving unintended but bounded modification of codec clocking, routing, and mute state.\nA:H - The 64 KB out-of-bounds read can land in an unmapped no-map carveout hole in the arm64 linear map (common on Qualcomm SoCs) causing an oops while card->controls_rwsem is held for write, permanently deadlocking the ALSA control device, and it panics outright on KASAN/hardened builds; stray writes to TX-macro clock/reset registers can additionally wedge the audio hardware."
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"affected": [
|
|
{
|
|
"product": "Linux",
|
|
"vendor": "Linux",
|
|
"defaultStatus": "unaffected",
|
|
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
|
|
"programFiles": [
|
|
"sound/soc/codecs/lpass-tx-macro.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "c39667ddcfc516fee084e449179d54430a558298",
|
|
"lessThan": "8f1512d78b5de928f4616a871e77b58fd546e651",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "c39667ddcfc516fee084e449179d54430a558298",
|
|
"lessThan": "8d81d3b0ed3610d24191d24f8e9e20f6775f0cc5",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "c39667ddcfc516fee084e449179d54430a558298",
|
|
"lessThan": "f5e61e3fe799ba2fda4320af23d26d28c3302045",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "c39667ddcfc516fee084e449179d54430a558298",
|
|
"lessThan": "75e5fab7db0cecb6e16b22c34608f0b40a4c7cd1",
|
|
"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/soc/codecs/lpass-tx-macro.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "5.12",
|
|
"status": "affected"
|
|
},
|
|
{
|
|
"version": "0",
|
|
"lessThan": "5.12",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "5.15.114",
|
|
"lessThanOrEqual": "5.15.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.1.31",
|
|
"lessThanOrEqual": "6.1.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.3.5",
|
|
"lessThanOrEqual": "6.3.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.4",
|
|
"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.12",
|
|
"versionEndExcluding": "5.15.114"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "5.12",
|
|
"versionEndExcluding": "6.1.31"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "5.12",
|
|
"versionEndExcluding": "6.3.5"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "5.12",
|
|
"versionEndExcluding": "6.4"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"references": [
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/8f1512d78b5de928f4616a871e77b58fd546e651"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/8d81d3b0ed3610d24191d24f8e9e20f6775f0cc5"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/f5e61e3fe799ba2fda4320af23d26d28c3302045"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/75e5fab7db0cecb6e16b22c34608f0b40a4c7cd1"
|
|
}
|
|
],
|
|
"title": "ASoC: lpass: Fix for KASAN use_after_free out of bounds",
|
|
"x_generator": {
|
|
"engine": "bippy-1.2.0"
|
|
}
|
|
}
|
|
}
|
|
} |