| Title | LinuxのLinux Kernelにおける境界外書き込みに関する脆弱性 |
|---|---|
| Summary | LinuxカーネルのPCIエンドポイントドライバにおいて、MSI-X割り込みの書き込みがアウトバウンドATUエントリのマッピング解除前にフラッシュされない問題がありました。そのため、ホストメモリが破損したり、IOMMUエラーが発生したりする可能性がありました。この脆弱性は、ATUエントリのマッピングを解除する前にreadl()で書き込みをフラッシュすることで修正されました。 |
| Possible impacts | 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| Solution | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| Publication Date | March 25, 2026, midnight |
| Registration Date | April 27, 2026, 10:55 a.m. |
| Last Update | April 27, 2026, 10:55 a.m. |
| CVSS3.0 : 重要 | |
| Score | 7.8 |
|---|---|
| Vector | CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Linux |
| Linux Kernel 4.19 |
| Linux Kernel 4.19.1 以上 6.12.77 未満 |
| Linux Kernel 6.13 以上 6.18.17 未満 |
| Linux Kernel 6.19 以上 6.19.7 未満 |
| Linux Kernel 7.0 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年04月27日] 掲載 |
April 27, 2026, 10:55 a.m. |
| Summary | In the Linux kernel, the following vulnerability has been resolved: PCI: dwc: ep: Flush MSI-X write before unmapping its ATU entry Endpoint drivers use dw_pcie_ep_raise_msix_irq() to raise an MSI-X If the PCI write loses the race with the ATU unmap, the write may corrupt arm-smmu-v3 fc900000.iommu: 0x0000010000000010 Flush the write by performing a readl() of the same address to ensure that The same problem was solved for dw_pcie_ep_raise_msi_irq() in commit [bhelgaas: commit log] |
|---|---|
| Summary | En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: PCI: dwc: ep: Vaciar escritura MSI-X antes de desmapear su entrada ATU Los controladores de punto final usan dw_pcie_ep_raise_msix_irq() para generar una interrupción MSI-X al host usando un writel(), lo que genera una transacción de escritura publicada PCI. No hay finalización para las escrituras publicadas, por lo que el writel() puede regresar antes de que la escritura PCI se complete. dw_pcie_ep_raise_msix_irq() también desmapea la entrada ATU de salida usada para la escritura PCI, por lo que la escritura compite con el desmapeo. Si la escritura PCI pierde la carrera con el desmapeo ATU, la escritura puede corromper la memoria del host o causar errores de IOMMU, por ejemplo, estos al ejecutar fio con una profundidad de cola mayor contra nvmet-pci-epf: arm-smmu-v3 fc900000.iommu: 0x0000010000000010 Vaciar la escritura realizando un readl() de la misma dirección para asegurar que la escritura ha alcanzado el destino antes de que la entrada ATU sea desmapeada. El mismo problema fue resuelto para dw_pcie_ep_raise_msi_irq() en el commit 8719c64e76bf ('PCI: dwc: ep: Cacheo de mapeo iATU de salida MSI'), pero allí fue resuelto dedicando un iATU de salida solo para MSI. No podemos hacer lo mismo para MSI-X porque cada vector puede tener una msg_addr diferente y la msg_addr puede ser cambiada mientras el vector está enmascarado. [bhelgaas: registro de commit] |
| Publication Date | March 25, 2026, 8:16 p.m. |
| Registration Date | April 27, 2026, 12:19 p.m. |
| Last Update | April 25, 2026, 3:41 a.m. |
| Configuration1 | or higher | or less | more than | less than | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.19.1 | 6.12.77 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 | 6.18.17 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 | 6.19.7 | |||
| cpe:2.3:o:linux:linux_kernel:4.19:-:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:* | |||||