* [CVE-2026-90425][MODERATE 7.0] iommu/tegra241-cmdqv: Require exactly one Stream ID for a vSID [ Upstream
@ 2026-09-17 19:55 21% AL-KERNEL
0 siblings, 0 replies; 1+ results
From: AL-KERNEL @ 2026-09-17 19:55 UTC (permalink / raw)
To: kernel-cve
CVE: CVE-2026-90425
Priority: MODERATE 7.0
AL-KERNEL base severity: MODERATE
KPANIC flag: YES
Patch: iommu/tegra241-cmdqv: Require exactly one Stream ID for a vSID [ Upstream
Commit: 9b37afb2d34d99ec4f8db28134181b5a8ec9a4a5
Upstream patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9b37afb2d34d99ec4f8db28134181b5a8ec9a4a5
Original CVE announcement: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-90425
Analysis date: Thu, 17 Sep 2026 15:55:14 -0400
ActionableScore: 6
ActionableScore lower bound: 5
Actionable bucket: Actionable Moderate / Strong Important candidate requiring manual review
Manual review required: YES
Summary:
No one-sentence report phrase was found.
======================================================================
ABOUT THIS REPORT
======================================================================
The original Linux kernel CVE announcement for CVE-2026-90425 is available here:
https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-90425
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 7.0
Manual review required: YES
A detailed explanation of the methodology and priority rules is included
at the end of this message.
======================================================================
AL-KERNEL CLASSIFICATION RESULT
======================================================================
CVE-2026-90425 MODERATE https://www.kernelcve.org/list/?q=CVE-2026-90425 CHECK WITH IMPACT FROM ORIG NN LOW 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-20;CWE-125;CWE-693;CWE-284;Other CVSS 'AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H';BEST CVSS score: '7';DESCR 'tegra241 CMDQV vSID setup accepted devices whose physical Stream ID count was not exactly one. For a multi stream device, only master streams 0 was mapped, so guest vSID invalidation could miss ATC and IOTLB entries belonging to the other streams and leave stale DMA translations active. For a device with zero streams, master streams may be a ZERO_SIZE_PTR and reading master streams 0 can become an out of bounds read or invalid kernel access. For the CVSS the PR:L is used because reliable triggering normally requires a local process with access to iommufd or delegated device assignment controls, but this is not necessarily full host administrator privilege in virtualized or service managed environments. The issue is not network reachable. Impact is at least local denial of service via invalid access, and the paranoid score treats the stale IOMMU translation case as possible confidentiality and integrity impact due to DMA isolation failure.';YES REQUIRES MANUAL CHECK; ,and ActionableScore result is Actionable Moderate / Strong Important candidate requiring manual review (with actual score 6) YES OOB SIMPLEFIX HARDWARE LINUS KPANIC KPANIC INCREASED_TO_HIGH_BASED_ON_GUESSCVSS DECREASED_TO_MODERATE7_BASED_ON_FALSEPOSCHECKOFDH YES NO checked
======================================================================
ACTIONABLESCORE ANALYSIS
======================================================================
ActionableScore=6
ActionableScoreLower=5
PrimitiveClass=CLASS_B
RealUAF=NO
HostAdminRequired=UNKNOWN
NamespaceScopedPrivilege=NO
ImportantCandidate=YES
ManualReview=REQUIRED
AutoDowngradeAllowed=NO
1. ActionableScore
* Raw conservative score: 5
* Conservative score: 5. No floor or cap changed the conservative score.
* Raw paranoid score: 6
* Paranoid score: 6. No floor or cap changed the paranoid score.
* Final recommended bucket: **Actionable Moderate / Strong Important candidate requiring manual review**::
2. Signal breakdown
Conservative positive signals:
* +1 Weak or indirect corruption candidate. If master->num_streams is zero, master->streams may be ZERO_SIZE_PTR and master->streams[0] becomes an out-of-bounds or invalid kernel read.
* +1 Reliable crash or strong DoS concern. The zero-stream case can plausibly fault in kernel context due to invalid access.
* +1 Active IOMMU translation synchronization issue. For a multi-stream device, only the first Stream ID is mapped, so guest vSID invalidation may not reach ATC and IOTLB entries for the other streams.
* +1 Secondary translation or tracking staleness. The mapping state and device stream topology can become inconsistent, leaving active translations outside the intended invalidation path.
* +1 Security-boundary relevance. IOMMU translation and invalidation correctness is part of DMA isolation, so stale translations are more security-relevant than ordinary stale metadata.
Paranoid additional signal:
* +1 Possible DMA isolation confidentiality or integrity impact. The multi-stream case can leave stale ATC or IOTLB translations active for streams not covered by the vSID mapping, which is a defensible unresolved isolation concern.
Non-awarded signals:
* +0 Real UAF. No heap lifetime UAF or stale post-free object use is directly established.
* +0 Concrete repeated release/refcount. No first release followed by a second lifetime mutation on the same dangling reference is shown.
* +0 Controlled reclaim. Not demonstrated.
* +0 Arbitrary or directed kernel write. Not demonstrated.
* +0 Remote reachability. Not established.
* +0 Local unprivileged trigger. Not positively established because the complete iommufd and device assignment path is not shown.
* +0 Class A authorization bypass. No direct ALLOW-vs-DENY authorization decision bypass is shown.
* +0 Strong exploitation leverage. Stale DMA translations are plausible, but the supplied evidence does not show guest-controlled host memory read/write or a completed isolation bypass.
Negative signals:
* No host-admin penalty was applied because host-admin-equivalent privilege is not positively established by the supplied evidence.
* No rare-hardware penalty was applied. The code is Tegra241-specific, but the prompt requires concrete evidence before reducing score merely because code is hardware-specific.
3. Reachability analysis
The vulnerable function is in the Tegra241 CMDQV IOMMU path and takes an iommufd_vdevice, so the relevant attacker model is a local userspace or VMM-like actor interacting with iommufd and device assignment controls. The supplied patch does not prove that an ordinary unprivileged local user can complete the whole trigger chain. It also does not prove that host root or host-admin-equivalent privilege is strictly required.
HostAdminRequired is therefore UNKNOWN. NamespaceScopedPrivilege is NO because no namespace-scoped capability path is established for the complete operation. Prior host setup may exist in realistic deployments because device assignment and IOMMUFD usage often involve a VMM or management stack, but this is not enough to apply a host-admin penalty. The issue is not network reachable. Special Tegra241 hardware and CMDQV support are required, but this was treated as exposure context rather than a scoring penalty.
4. Primitive and severity interpretation
The exact primitive is an invalid acceptance of devices whose physical Stream ID count is not exactly one. With zero streams, this can cause an invalid or out-of-bounds read from master->streams[0]. With multiple streams, only stream 0 is mapped to the guest vSID, so guest invalidation can miss ATC and IOTLB entries for other streams.
This is not a real UAF and not a concrete repeated refcount or release bug. The stronger concern is an active IOMMU translation and invalidation consistency violation. The affected state is active translation state, not passive metadata. The demonstrated consequence includes possible kernel invalid access or DoS. The unresolved consequence is stale DMA translation behavior that may affect DMA isolation.
PrimitiveClass is CLASS_B because a meaningful active-state and translation-invalidation primitive exists, but there is no demonstrated controlled host memory access, arbitrary write, controlled reclaim, or completed privilege-escalation chain. ImportantCandidate is YES because IOMMU stale translation behavior is security-boundary relevant and should not be automatically downgraded from a small one-line validation fix. AutoDowngradeAllowed is NO because unresolved DMA isolation impact would be lost by treating this as only a WARN or OOB-read cleanup fix.
5. One-sentence report phrase
Tegra241 CMDQV vSID setup accepted devices with zero or multiple Stream IDs, which can cause an invalid read for zero-stream devices or leave stale ATC/IOTLB translations for unmapped streams, making this an actionable IOMMU isolation issue requiring manual review.
6. Manual review recommendation
MANUAL CHECK REQUIRED
Reason: the patch fixes an IOMMU vSID to physical Stream ID validation error where multi-stream devices may retain stale DMA translations outside the guest invalidation path, which is a security-boundary relevant primitive even though direct exploitation beyond DoS is not proven.
7. Call-site confidence
Call-site confidence: medium
======================================================================
UPSTREAM PATCH SUMMARY
======================================================================
Patch: iommu/tegra241-cmdqv: Require exactly one Stream ID for a vSID [ Upstream
Commit: 9b37afb2d34d99ec4f8db28134181b5a8ec9a4a5
Upstream URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9b37afb2d34d99ec4f8db28134181b5a8ec9a4a5
Changed files:
drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.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=9b37afb2d34d99ec4f8db28134181b5a8ec9a4a5
======================================================================
DETAILED REPORT METHODOLOGY
======================================================================
The original Linux kernel CVE announcement for CVE-2026-90425 can be found here:
https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-90425
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:H
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: 5
Paranoid ActionableScore: 6
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: YES
Published priority for this report (same as in Subject): MODERATE 7.0
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 [relevance 21%]
Results 1-1 of 1 | reverse | sort options + mbox downloads above
-- links below jump to the message on this page --
2026-09-17 19:55 21% [CVE-2026-90425][MODERATE 7.0] iommu/tegra241-cmdqv: Require exactly one Stream ID for a vSID [ 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