CVE-2026-90427
High · 7.4CVSS
7.4
EPSS
0.2%
Published
Sep 17, 2026
CISA due date
—
Cloudanix analysis
A Linux kernel driver bug can let a local attacker crash the machine or try to run harmful code with deep system access.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- High
- Impact
- Full Compromise
- Component
- OS kernel
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in the IOMMU Tegra driver where devm_krealloc frees the original smmu pointer on success, but a later failure causes the caller fallback path to dereference the now-freed pointer.
Why it matters to the business
On affected embedded or server systems using the Tegra IOMMU driver, a local attacker could trigger a kernel crash or attempt to execute arbitrary code with kernel privileges; impact is limited by the need for precise timing during device probe and low observed exploitation rates.
How an attack unfolds
An attacker with local access triggers __tegra241_cmdqv_probe(), causes devm_krealloc to relocate and free the original smmu, then forces a subsequent failure so the fallback path dereferences the dangling pointer, potentially leading to memory corruption.
How to fix it
Apply the upstream kernel commit that changes __tegra241_cmdqv_probe to return an int, accept smmu by reference, and update the pointer only after successful reallocation so both success and fallback paths use a live pointer.
How to confirm the fix worked
Inspect the probe function in the iommu/tegra241-cmdqv.c source to confirm it returns int, takes smmu by reference, and updates *smmu after devm_krealloc succeeds before any fallback usage.
Typical attack path
- Obtain local access to a system using the affected Tegra IOMMU driver
- Trigger or wait for device probe that calls __tegra241_cmdqv_probe
- Arrange for devm_krealloc to succeed followed by a later failure condition
- Cause the fallback path to dereference the freed smmu pointer
- Leverage resulting memory corruption for crash or code execution
How to detect it
Search kernel logs and dmesg for IOMMU probe failures or use-after-free warnings involving tegra241_cmdqv on Tegra hardware; examine crash dumps for dereference of freed smmu pointers during device initialization.
What your security team should do
- Prioritize kernel updates containing the fix on any Tegra-based systems
- Review device probe logs for IOMMU initialization failures on affected hardware
- Limit local unprivileged access on systems where the driver is active until patched
The record
In the Linux kernel, the following vulnerability has been resolved: iommu/tegra241-cmdqv: Don't fall back to a freed smmu after devm_krealloc() __tegra241_cmdqv_probe() uses devm_krealloc() to grow @smmu into the larger tegra241_cmdqv, which frees the original @smmu once it relocates. A failure after that returned NULL, and the caller then dereferenced the freed @smmu on its fallback path. Return an int and take @smmu by reference instead, then update *smmu to the reallocated pointer after devm_krealloc() succeeds, so the caller and its fallback path both use the live @smmu rather than the freed original.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|