* [CVE-2026-98298][MODERATE REGULAR] dmaengine: mmp_pdma: fix wrong sg length in mmp_pdma_prep_slave_sg() [ Upstream
@ 2026-10-11 3:12 AL-KERNEL
0 siblings, 0 replies; only message in thread
From: AL-KERNEL @ 2026-10-11 3:12 UTC (permalink / raw)
To: kernel-cve
CVE: CVE-2026-98298
Priority: MODERATE REGULAR
AL-KERNEL base severity: MODERATE
KPANIC flag: NO
Patch: dmaengine: mmp_pdma: fix wrong sg length in mmp_pdma_prep_slave_sg() [ Upstream
Commit: f448a5f5bd10d792440a1b08cf2e8f311767032d
Upstream patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=f448a5f5bd10d792440a1b08cf2e8f311767032d
Original CVE announcement: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98298
Analysis date: Sat, 10 Oct 2026 23:12:02 -0400
ActionableScore: 1
ActionableScore lower bound: 0
Actionable bucket: Ordinary Moderate
Manual review required: NO
Summary:
No one-sentence report phrase was found.
======================================================================
ABOUT THIS REPORT
======================================================================
The original Linux kernel CVE announcement for CVE-2026-98298 is available here:
https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98298
The original announcement does not normally provide a security severity
estimate, CVSS assessment, or enough information to determine whether the
reported kernel bug represents a practically relevant security issue.
This report was generated by AL-KERNEL, an AI-assisted Linux kernel
vulnerability analysis system developed by Alexander Larkin. It combines
an autonomous classifier with LLM-assisted technical analysis and a
separate ActionableScore mechanism.
The purpose of this report is to prioritize Linux kernel CVEs before
manual review, identify cases that require prompt investigation, and
support automatic closure of issues that are unlikely to have meaningful
security impact.
Published priority for this report: MODERATE REGULAR
Manual review required: NO
A detailed explanation of the methodology and priority rules is included
at the end of this message.
======================================================================
AL-KERNEL CLASSIFICATION RESULT
======================================================================
CVE-2026-98298 MODERATE https://www.kernelcve.org/list/?q=CVE-2026-98298 CHECK WITH IMPACT FROM ORIG NN MODERATE | AEGIS IMPACT MODERATE_KPANIC AEGIS_AS=1 LEGACY=MODERATE RESULT=DIFF (independent Legacy and Aegis differ; FINAL: MODERATE, Aegis: MODERATE_KPANIC) Maybe valid. Check manually. Hints by AL-KERNEL: The best (paranoid) CVSS is 'AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H';CWE-125;*CWE-787;CWE-130;Other CVSS 'AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L';BEST CVSS score: '7';DESCR 'mmp_pdma uses the DMA length of the first scatterlist entry while processing every later entry. A later entry that is shorter than the first can therefore produce a DMA descriptor that extends beyond the mapped segment, causing an out-of-bounds DMA read and potentially an out-of-bounds write for a device-to-memory transfer. A later entry that is longer than the first can instead cause silent data loss because only part of the segment is transferred. For the CVSS the PR:L value reflects that a local process may reach the vulnerable DMA path through an accessible client device interface, although reliable triggering depends on the client driver, device permissions, MMP PDMA hardware, and a multi-entry scatterlist with unequal lengths. The issue is not directly network reachable. Impact includes possible information exposure to a DMA device, data corruption, transfer failure, IOMMU faults, or a kernel crash. A device-to-memory out-of-bounds write provides a plausible memory corruption path and therefore requires manual security review.';YES REQUIRES MANUAL CHECK; ,and ActionableScore result is Ordinary Moderate (with actual score 1) MAYBE READ OOB SIMPLEFIX DMAorINTERRUPT LINUS MEMORY DECREASED_TO_MODERATEREG_BASED_ON_ACTIONABLESCORELESSTHAN4 - - checked
======================================================================
ACTIONABLESCORE ANALYSIS
======================================================================
ActionableScore=1
ActionableScoreLower=0
PrimitiveClass=CLASS_B
RealUAF=NO
HostAdminRequired=UNKNOWN
NamespaceScopedPrivilege=UNKNOWN
ImportantCandidate=NO
ManualReview=RECOMMENDED
AutoDowngradeAllowed=YES
RequiresHostUID0=UNKNOWN
AuthorizationDecisionBypass=NO
ProtectedResourceImpact=NONE
B4PendingReview=NO
B4PendingConfirmed=NO
1. ActionableScore
* Raw conservative score: 0.
* Conservative score: 0. No floor or cap applied.
* Raw paranoid score: 1.
* Paranoid score: 1. No floor or cap applied.
* Final recommended bucket: **Ordinary Moderate**::
2. Signal breakdown
Conservative signals:
* +0 Read-only OOB concern. The commit directly establishes that a descriptor for a shorter later SG entry can exceed that entry and cause an out-of-bounds read. No user-visible disclosure path is established.
* +0 Silent data loss. Using the first entry length for a longer later entry truncates the transfer, but no protected victim data, persistent storage corruption, or cross-authority modification is established.
* +0 Memory-layout invariant. The SG address and length are inconsistent, but this is the same fact underlying the OOB access and is not counted separately.
* +0 Privilege penalty. The complete client-driver path and required credentials are unknown, so host-admin privilege is not assumed.
* +0 Hardware penalty. MMP PDMA hardware is required, but the supplied evidence does not independently establish the rare-hardware threshold needed for a numeric penalty.
Paranoid signals:
* +1 Constrained kernel-buffer overwrite candidate. Under normal slave-DMA semantics, the same oversized descriptor can direct a device-to-memory transfer beyond a shorter destination SG segment. The address is tied to the current DMA mapping, while payload and adjacent target selection are not shown to be attacker-controlled.
Important non-awarded signals:
* Strong corruption +2 was not awarded because arbitrary target selection, attacker-controlled payload, controlled adjacent-object corruption, and a confirmed heap/slab OOB write are not established.
* Reliable kernel crash +1 was not awarded because the patch documents OOB reads and data loss but no observed panic, IOMMU failure, or host-wide fatal result.
* Confidentiality was not awarded because no read-back or disclosure path to userspace, network, or a hostile device is established.
* Integrity was not separately awarded because the potential device-to-memory overwrite is already represented by the constrained-overwrite signal, while modification of a protected victim is unproven.
* Local unprivileged trigger was not awarded because no userspace client or device-node call path is supplied.
* Remote reachability is not established.
* B5-R is not established. There is no retry-accumulated index or offset, no missing retry reset, and no evidenced attacker-controlled retry sequence.
* B3-PENDING is not established because shared or file-backed storage and missing private-write isolation are not shown.
* B4-PENDING is not applicable because no authorization decision or mandatory security guard is involved.
* There is no UAF, repeated release, refcount mutation, controlled reclaim, or callback influence.
3. Reachability analysis
The vulnerable function prepares slave-DMA descriptors on systems using the MMP PDMA driver. Triggering requires a multi-entry mapped scatterlist where a later entry has a different length from the first.
The supplied patch does not identify the client drivers that call this function or whether an ordinary process can cause those clients to construct attacker-influenced SG layouts. A device node, multimedia interface, storage operation, or another kernel client might provide reachability, but that is unresolved. Therefore, below-host-admin access is not positively established and host-admin access is not positively required.
No namespace capability check or namespace-scoped complete trigger is shown. Prior platform and device setup is required because MMP PDMA hardware and an active client driver must exist. This is not a race and requires no retry timing.
4. Primitive and severity interpretation
The directly demonstrated primitive is an invalid DMA transfer length. For a shorter later entry, the generated descriptor can cover memory beyond that SG entry. The commit characterizes the observed direction as an out-of-bounds read. For a longer entry, the descriptor covers too little data and causes silent data loss.
A device-to-memory operation provides a technically defensible constrained OOB-write interpretation because the SG address is then the DMA destination and the same excessive length extends beyond it. However, the supplied context does not show the descriptor direction setup, adjacent allocation type, payload control, target control, or later consumption of a corrupted kernel object.
This is classified as CLASS_B for the potential constrained DMA overwrite, not CLASS_A. It is fixed DMA-buffer corruption rather than an active-object UAF or controlled overwrite. The demonstrated practical impact remains malformed transfer behavior, OOB access, and data loss. Kernel crash or corruption of an adjacent active object is plausible but not demonstrated.
ImportantCandidate is NO because the B5-R preservation chain is absent and no strong exploitation leverage is established. AutoDowngradeAllowed is YES because the known primitive is constrained, reachability is unresolved, and there is no controlled corruption, lifetime violation, shared-backing violation, or authorization bypass. Manual review remains recommended to inspect actual callers and DMA directions.
5. One-sentence report phrase
The wrong per-entry SG length can create an oversized MMP PDMA descriptor for a shorter segment, causing an out-of-bounds DMA read and potentially a constrained device-to-memory overwrite, but attacker reachability and useful corruption leverage are not established.
6. Manual review recommendation
MANUAL CHECK RECOMMENDED
Review callers of `mmp_pdma_prep_slave_sg()`, supported DMA directions, device-node permissions, IOMMU behavior, and whether a below-host-admin process can control unequal SG lengths or cause corrupted adjacent state to be consumed.
7. Call-site confidence
Call-site confidence: medium
======================================================================
UPSTREAM PATCH SUMMARY
======================================================================
Patch: dmaengine: mmp_pdma: fix wrong sg length in mmp_pdma_prep_slave_sg() [ Upstream
Commit: f448a5f5bd10d792440a1b08cf2e8f311767032d
Upstream URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=f448a5f5bd10d792440a1b08cf2e8f311767032d
Changed files:
drivers/dma/mmp_pdma.c
Diff excerpt:
Not included in this email. See the upstream URL for the full patch.
Full patch:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=f448a5f5bd10d792440a1b08cf2e8f311767032d
======================================================================
DETAILED REPORT METHODOLOGY
======================================================================
The original Linux kernel CVE announcement for CVE-2026-98298 can be found here:
https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98298
The original CVE announcement normally does not include a security-level
estimate. In particular, it may not contain a CVSS assessment, an impact
level, or enough information to determine whether the reported bug is a
practically relevant security issue. One purpose of this parallel CVE list
is to provide that missing technical and prioritization information.
The original goal of the AL-KERNEL project was to prioritize Linux kernel
CVE analysis automatically before manual review. The system can also help
identify non-security issues that may be suitable for automatic closure.
This report was generated by AL-KERNEL, an AI-assisted Linux kernel
vulnerability analysis system developed by Alexander Larkin.
The first analysis stage combines an autonomous classifier with additional
LLM-based analysis. The autonomous classifier runs locally on a CPU and is
based on a backpropagation neural network. Together, these mechanisms
produce a technical vulnerability description, identify likely weakness
types, estimate CVSS severity, and provide input for ActionableScore.
Two CVSS estimates are retained because incomplete kernel vulnerability
information often permits more than one defensible interpretation:
Conservative CVSS vector: AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
The Best / paranoid CVSS vector: AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
The Best / paranoid CVSS score: 7
The conservative vector represents a lower-impact interpretation.
The Best/paranoid vector intentionally represents a plausible upper-bound
interpretation and should not automatically be treated as demonstrated
real-world impact.
CVSS may also need to be adjusted for a particular Linux deployment,
because actual reachability, privileges, enabled kernel configuration,
hardware, namespaces, exposed device nodes, and other environmental
conditions can differ significantly between systems.
A separate ActionableScore mechanism evaluates practical remediation
urgency. Its analysis may include reachability, attack prerequisites,
subsystem exposure, memory-corruption characteristics, denial-of-service
reliability, and possible confidentiality, integrity, or
privilege-escalation impact.
Conservative ActionableScore: 0
Paranoid ActionableScore: 1
The final base severity is taken directly from the second tab-separated
field of the AL-KERNEL classification result. ActionableScore does not
replace or independently override that final AL-KERNEL decision, and
if ActionableScore adjusted impact level of ALKERNEL, then you would see
self-readable flags above like INCREASED_TO_HIGH_BASED_ON_ACTIONABLESCOREHIGHEREQTHAN7.
For an AL-KERNEL result of MODERATE, this report uses the following
additional presentation split:
ActionableScore below 5 -> MODERATE REGULAR
ActionableScore 5 or more -> MODERATE 7.0
The distinction between MODERATE REGULAR and MODERATE 7.0 makes it
possible to identify Moderate issues that should receive manual analysis
and fixes before lower-priority MODERATE REGULAR issues. In many cases,
MODERATE REGULAR fixes may wait for a later rebase or routine update.
There is one override in which MODERATE REGULAR becomes MODERATE 7.0
even when the ActionableScore is below 5. When the AL-KERNEL result
contains the KPANIC flag, a MODERATE result is always presented as
MODERATE 7.0. The KPANIC flag selected with few regexps without
usage of AI at all, so it helps to detect cases when Kernel Crash happens
and similar (to filter False-Negative results from the LLM usage).
KPANIC indicates that a reliable kernel crash, kernel panic, or similarly
serious kernel availability impact was identified by the classification
workflow.
AL-KERNEL base severity for this report: MODERATE
KPANIC detected for this report: NO
Published priority for this report (same as in Subject): MODERATE REGULAR
These results are intended to support engineering triage. They are
machine-generated estimates, and cases marked for manual review should
be validated by a human security engineer before final disposition.
For more info read docs linked from here: https://kernelcve.org/
(and you can submit you own patch there to generate such a report
for non-existant CVE-id yet).
Note that in many cases this AI tool selects higher severity, than
real is (means you can expect Importants instead of Moderate 7.0 or
Moderates 7.0 instead of regular Moderates). If you see such cases,
please use reply email interface to add additional manual analyses
info to this particular CVE.
And please, please, let me know when you see Lows instead of Importants
or Important instead of Low (because particular for such cases I
need to tune this AI tool to make it better for this one and next similar).
My contact email for such notifications is [email protected] (and both
send reply to CVE record itself too and see "reply" button below for howto reply).
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-10-11 3:12 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-11 3:12 [CVE-2026-98298][MODERATE REGULAR] dmaengine: mmp_pdma: fix wrong sg length in mmp_pdma_prep_slave_sg() [ Upstream AL-KERNEL
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox