CVE-2026-98298: Linux kernel · dmaengine: mmp_pdma: fix wrong sg length in mmp_pdma_prep_slave_sg()
Affects Linux kernelSource GCVE Database
Not known to be exploited.
Data as of 28 Oct 2026, 01:27 UTC
Rated by Threat Radar · CVSS not yet scored by NVD
Exploitation evidence
Disclosed: evidence found.
CVE published 6 Oct 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Ubuntu 26.04 LTSlinuxpkg:deb/ubuntu/linux?arch=source&distro=resoluteOther threats | Affected
| Fixed in– |
Ubuntu 26.04 LTSlinux-awspkg:deb/ubuntu/linux-aws?arch=source&distro=resoluteOther threats | Affected
| Fixed in– |
Ubuntu 26.04 LTSlinux-azurepkg:deb/ubuntu/linux-azure?arch=source&distro=resoluteOther threats | Affected
| Fixed in– |
Ubuntu 26.04 LTSlinux-azure-fdepkg:deb/ubuntu/linux-azure-fde?arch=source&distro=resoluteOther threats | Affected
| Fixed in– |
Ubuntu 26.04 LTSlinux-gcppkg:deb/ubuntu/linux-gcp?arch=source&distro=resoluteOther threats | Affected
| Fixed in– |
Ubuntu 26.04 LTSlinux-gkepkg:deb/ubuntu/linux-gke?arch=source&distro=resoluteOther threats | Affected
| Fixed in– |
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
In the Linux kernel, the following vulnerability has been resolved: dmaengine: mmp_pdma: fix wrong sg length in mmp_pdma_prep_slave_sg() In mmp_pdma_prep_slave_sg(), for_each_sg() iterates the scatterlist putting each entry into 'sg', but the entry length is read from 'sgl' (the list head) instead of 'sg' (the current entry): for_each_sg(sgl, sg, sg_len, i) { addr = sg_dma_address(sg); avail = sg_dma_len(sgl); /* should be 'sg' */ Consequently 'avail' is always the length of the first entry. For multi-sg lists this causes out-of-bounds reads when a later entry is shorter than the first, and silent data loss when it is longer. Single-sg or uniformly-sized lists happen to mask the issue.
References
- ubuntu.com/security/CVE-2026-98298 (opens in a new tab)
- cve.org/CVERecord?id=CVE-2026-98298 (opens in a new tab)
- git.kernel.org/linus/075bc7b1d3dde5ed43fbaabbc1a69f09b7fc3a47 (opens in a new tab)
- git.kernel.org/stable/c/075bc7b1d3dde5ed43fbaabbc1a69f09b7fc3a47 (opens in a new tab)
- git.kernel.org/stable/c/2148db529f082d6e3ca95413bf943442f4ef30cc (opens in a new tab)
- git.kernel.org/stable/c/4a33886057e6d127555efb022879c583e966acc5 (opens in a new tab)
- git.kernel.org/stable/c/54ccc01012a240476edf641bf1a2b8bff54fe6ae (opens in a new tab)
- git.kernel.org/stable/c/88a505330eb06128f7ce79a4c5e4832b7601b3d1 (opens in a new tab)
- git.kernel.org/stable/c/bae65e4925928f77824ca0103122e2ed20ef5802 (opens in a new tab)
- git.kernel.org/stable/c/d920c07aa6d89ec11afdb6976aafaee9563a5234 (opens in a new tab)
- git.kernel.org/stable/c/f448a5f5bd10d792440a1b08cf2e8f311767032d (opens in a new tab)