CVE-2026-74573
UnknownSummary
In the Linux kernel, the iommu/arm-smmu-v3-iommufd subsystem has a vulnerability where arm_vsmmu_vsid_to_sid() maps a guest's vSID to a single physical Stream ID, assuming a device has exactly one stream. Devices with multiple streams get only the first one mapped, so vSID invalidations cannot reach the others' ATC and IOTLB entries; devices with none cause an out-of-bounds read. The fix adds an arm_vsmmu_vdevice_init() op to reject the vDEVICE with -EOPNOTSUPP when master->num_streams is not one.
Risk Assessment
The risk includes potential information leak or system crash due to out-of-bounds read, as well as ineffective TLB invalidation, which could lead to unauthorized memory access. However, it requires privileges to configure vDEVICE devices in a virtualized environment.
Recommendation
Update the Linux kernel to a version containing the fix for this issue. Also, ensure that vDEVICE configuration in virtualized environments complies with driver requirements.
Original NVD description (English source)
In the Linux kernel, the following vulnerability has been resolved: iommu/arm-smmu-v3-iommufd: Require exactly one Stream ID for a vDEVICE arm_vsmmu_vsid_to_sid() maps a guest's vSID to a single physical Stream ID taken from master->streams[0], assuming a device has exactly one stream. A device with several streams gets only its first one mapped, so a guest vSID invalidation cannot reach the others' ATC and IOTLB entries; a device with none makes master->streams a ZERO_SIZE_PTR, read out of bounds. Add an arm_vsmmu_vdevice_init() op to reject the vDEVICE with -EOPNOTSUPP when master->num_streams is not one, rather than mapping it silently.

