{"id":"CVE-2026-98940","kind":"vulnerability","aliases":["CVE-2026-98940"],"related":[],"title":"Linux kernel: audio DAI table index bug corrupts memory on Qualcomm LPASS","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: qcom: lpass-cpu: use DAI table index for playback constraints\n\nThe DAI ID is a hardware port ID and is not necessarily the index of\nthe corresponding entry in variant->dai_driver.\n\nWhen configuring a DAI with LPAIF_I2SCTL_MODE_QUAD01, the probe code\ncurrently uses dai_id to index variant->dai_driver. This is incorrect\nfor platforms where DAI IDs are sparse. For example, the IPQ806x MI2S\nDAI has ID 4 while it is the only entry in the DAI driver table. If\nthat DAI is configured for QUAD01 and probe reaches this branch, the\ncode writes beyond that single entry via dai_driver[4] instead of\nupdating the DAI being processed.\n\nUse the loop index i when updating the current DAI's playback channel\nconstraints, while retaining dai_id for indexing the hardware-port\nspecific playback SD-line mode array.\n\nThis fixes the incorrect DAI table access for platforms where the DAI\nID does not match its position in the driver table.","summary":"In the Linux kernel's Qualcomm LPASS audio driver, the probe code indexed the DAI driver table with a hardware port ID instead of the loop index, so on platforms with sparse DAI IDs it writes past the table entry it should update. The sources do not describe an attacker-triggered exploit path or a confirmed impact beyond this out-of-bounds write.","severity":"unknown","cvss":null,"epss":0.00209,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["audio","embedded-linux","linux-kernel","qualcomm-soc","runtime"],"not_affected_if":["no-qualcomm-lpass-audio"],"how_to_check":"- unknown","fix":"- Update to a Linux kernel release that includes the upstream commit 'ASoC: qcom: lpass-cpu: use DAI table index for playback constraints' (version unknown from sources)","status":"open","published_at":"2026-10-23T13:17:14+00:00","first_seen_at":"2026-10-23T21:57:33+00:00","triaged_at":"2026-10-25T04:58:03+00:00","updated_at":"2026-10-25T12:38:50+00:00","category":"runtime","confidence":0.5,"triage":{"at":"2026-10-25T04:58:03Z","model":"claude-haiku-5-5","output":{"fix":"- Update to a Linux kernel release that includes the upstream commit 'ASoC: qcom: lpass-cpu: use DAI table index for playback constraints' (version unknown from sources)","reach":"local","title":"Linux kernel: audio DAI table index bug corrupts memory on Qualcomm LPASS","impact":"medium","summary":"In the Linux kernel's Qualcomm LPASS audio driver, the probe code indexed the DAI driver table with a hardware port ID instead of the loop index, so on platforms with sparse DAI IDs it writes past the table entry it should update. The sources do not describe an attacker-triggered exploit path or a confirmed impact beyond this out-of-bounds write.","category":"runtime","nicknames":[],"who_cares":["linux-kernel","qualcomm-soc","embedded-linux","audio"],"confidence":0.5,"needs_auth":"unknown","worst_case":"out-of-bounds write in kernel memory during audio driver probe","analyst_note":"Check the NVD entry and the upstream kernel commit for the affected and fixed kernel versions and whether the bug is reachable by an unprivileged user.","how_to_check":"- unknown","needs_analyst":true,"not_affected_if":["no-qualcomm-lpass-audio"],"who_is_affected":"Systems running Linux kernels with the Qualcomm LPASS CPU audio driver (ASoC qcom lpass-cpu), such as Qualcomm SoC boards like IPQ806x that use MI2S DAIs configured for QUAD01 mode. Systems without these Qualcomm audio components, and general-purpose servers, are unlikely to be affected; the sources do not say more.","user_interaction":"unknown","needs_special_setup":"yes","severity_if_unknown":"low"},"cost_usd":0.00067,"input_tokens":3590,"output_tokens":622,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':14A,17A '-98940':15A,18A '4':178C,212C 'access':257C 'array':250C 'asoc':105C 'attack':80B 'attacker-trigg':79B 'audio':3A,19B,37B 'beyond':88B,205C 'bound':93B 'branch':201C 'bug':7A 'channel':232C 'code':41B,150C,203C 'configur':140C,194C 'confirm':86B 'constraint':116C,233C 'correspond':133C 'corrupt':8A 'cpu':109C 'current':151C,228C 'cve':13A,16A 'dai':4A,44B,62B,111C,118C,137C,142C,153C,158C,166C,175C,187C,192C,210C,217C,229C,236C,255C,262C 'describ':77B 'driver':38B,45B,138C,159C,188C,211C,271C 'embed':21B 'embedded-linux':20B 'entri':69B,134C,184C,208C 'exampl':171C 'exploit':82B 'fix':252C 'follow':100C 'hardwar':49B,122C,242C 'hardware-port':241C 'i2sctl':145C 'id':51B,63B,119C,124C,154C,167C,177C,237C,263C 'impact':87B 'incorrect':162C,254C 'index':6A,42B,56B,113C,130C,156C,223C,239C 'instead':52B,213C 'ipq806x':173C 'kernel':2A,25B,33B,98C 'line':248C 'linux':1A,22B,24B,32B,97C 'linux-kernel':23B 'loop':55B,222C 'lpaif':144C 'lpass':12A,36B,108C 'lpass-cpu':107C 'match':266C 'memori':9A 'mi2s':174C 'mode':146C,249C 'necessarili':128C 'out-of-bound':90B 'past':66B 'path':83B 'platform':59B,164C,259C 'playback':115C,231C,245C 'port':50B,123C,243C 'posit':268C 'probe':40B,149C,198C 'process':219C 'qcom':106C 'quad01':147C,196C 'qualcomm':11A,27B,35B 'qualcomm-soc':26B 'reach':199C 'resolv':104C 'retain':235C 'runtim':29B 'sd':247C 'sd-line':246C 'singl':207C 'soc':28B 'sourc':74B 'spars':61B,169C 'specif':244C 'tabl':5A,46B,68B,112C,189C,256C,272C 'trigger':81B 'updat':72B,215C,226C 'use':110C,152C,220C 'variant':136C,157C 'via':209C 'vulner':101C 'write':65B,94B,204C","nicknames":[],"mitigations":[],"who_affected":"Systems running Linux kernels with the Qualcomm LPASS CPU audio driver (ASoC qcom lpass-cpu), such as Qualcomm SoC boards like IPQ806x that use MI2S DAIs configured for QUAD01 mode. Systems without these Qualcomm audio components, and general-purpose servers, are unlikely to be affected; the sources do not say more.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-23T13:17:14+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-98940","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98940","severity":null,"published_at":"2026-10-23T13:17:14+00:00","modified_at":"2026-10-23T13:17:14+00:00","first_seen_at":"2026-10-23T21:57:33+00:00","fetched_at":"2026-10-23T22:29:03+00:00","note":null},{"source":"epss","external_id":"CVE-2026-98940","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-98940","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-25T12:38:50+00:00","fetched_at":"2026-10-25T12:38:50+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}