CVE-2021-47047: Vulnerability in Linux Linux
In the Linux kernel, the following vulnerability has been resolved: spi: spi-zynqmp-gqspi: return -ENOMEM if dma_map_single fails The spi controller supports 44-bit address space on AXI in DMA mode, so set dma_addr_t width to 44-bit to avoid using a swiotlb mapping. In addition, if dma_map_single fails, it should return immediately instead of continuing doing the DMA operation which bases on invalid address. This fixes the following crash which occurs in reading a big block from flash: [ 123.633577] zynqmp-qspi ff0f0000.spi: swiotlb buffer is full (sz: 4194304 bytes), total 32768 (slots), used 0 (slots) [ 123.644230] zynqmp-qspi ff0f0000.spi: ERR:rxdma:memory not mapped [ 123.784625] Unable to handle kernel paging request at virtual address 00000000003fffc0 [ 123.792536] Mem abort info: [ 123.795313] ESR = 0x96000145 [ 123.798351] EC = 0x25: DABT (current EL), IL = 32 bits [ 123.803655] SET = 0, FnV = 0 [ 123.806693] EA = 0, S1PTW = 0 [ 123.809818] Data abort info: [ 123.812683] ISV = 0, ISS = 0x00000145 [ 123.816503] CM = 1, WnR = 1 [ 123.819455] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000805047000 [ 123.825887] [00000000003fffc0] pgd=0000000803b45003, p4d=0000000803b45003, pud=0000000000000000 [ 123.834586] Internal error: Oops: 96000145 [#1] PREEMPT SMP
AI Analysis
Technical Summary
CVE-2021-47047 is a vulnerability identified in the Linux kernel's SPI (Serial Peripheral Interface) controller driver for the Zynq UltraScale+ MPSoC platform, specifically the spi-zynqmp-gqspi driver. The vulnerability arises because the driver does not correctly handle the failure of the dma_map_single function, which is responsible for mapping memory for DMA (Direct Memory Access) operations. The SPI controller supports a 44-bit address space on the AXI bus in DMA mode, and the driver sets the dma_addr_t width accordingly to 44 bits to avoid using the swiotlb (Software Input/Output Translation Lookaside Buffer) mapping. However, if dma_map_single fails, the driver erroneously continues with the DMA operation using an invalid address instead of returning an error immediately. This leads to a kernel crash when reading large blocks from flash memory, as evidenced by kernel oops messages and memory abort errors in the logs. The crash is triggered by a swiotlb buffer exhaustion and subsequent invalid memory access, causing a kernel panic or system instability. The issue is rooted in improper error handling in the DMA mapping process within the SPI driver, which can result in denial of service due to kernel crashes. No known exploits are currently reported in the wild, and no CVSS score has been assigned yet. The vulnerability affects specific versions of the Linux kernel containing the faulty spi-zynqmp-gqspi driver code prior to the patch that fixes this error handling flaw.
Potential Impact
For European organizations, the impact of CVE-2021-47047 primarily concerns systems using the affected Linux kernel versions on Zynq UltraScale+ MPSoC platforms or similar embedded devices that rely on the spi-zynqmp-gqspi driver for SPI flash memory access. Such devices are often found in industrial control systems, telecommunications infrastructure, embedded IoT devices, and specialized computing equipment. A successful exploitation leads to kernel crashes causing denial of service, which can disrupt critical operations, especially in industrial automation, manufacturing, or network equipment. While the vulnerability does not appear to allow privilege escalation or remote code execution directly, the resulting instability can be leveraged by attackers to cause outages or force reboots, impacting availability. European sectors with high reliance on embedded Linux devices in critical infrastructure, such as energy, transportation, and manufacturing, may face operational risks. Moreover, the lack of known exploits suggests a lower immediate threat, but the vulnerability could be targeted in future attacks once exploit techniques are developed. The impact on confidentiality and integrity is limited, but availability degradation in critical systems can have significant operational and economic consequences.
Mitigation Recommendations
To mitigate CVE-2021-47047, European organizations should: 1) Identify and inventory all devices running affected Linux kernel versions with the spi-zynqmp-gqspi driver, focusing on embedded systems and industrial devices using Zynq UltraScale+ MPSoC platforms. 2) Apply the official Linux kernel patches that fix the dma_map_single error handling in the spi-zynqmp-gqspi driver as soon as they become available. If immediate patching is not possible, consider kernel version upgrades or vendor firmware updates that include the fix. 3) Implement monitoring for kernel oops and memory abort logs indicative of this issue to detect potential exploitation or system instability early. 4) For critical systems, establish redundancy and failover mechanisms to maintain availability in case of crashes. 5) Coordinate with device vendors to ensure timely firmware and kernel updates are provided and deployed. 6) Limit access to affected devices to trusted administrators and networks to reduce the risk of triggering the vulnerability through malicious input. 7) Conduct thorough testing of patches in staging environments to avoid regressions in embedded systems. These steps go beyond generic advice by focusing on embedded device inventory, vendor coordination, and operational continuity planning specific to this vulnerability.
Affected Countries
Germany, France, United Kingdom, Netherlands, Italy, Spain, Sweden, Finland
CVE-2021-47047: Vulnerability in Linux Linux
Description
In the Linux kernel, the following vulnerability has been resolved: spi: spi-zynqmp-gqspi: return -ENOMEM if dma_map_single fails The spi controller supports 44-bit address space on AXI in DMA mode, so set dma_addr_t width to 44-bit to avoid using a swiotlb mapping. In addition, if dma_map_single fails, it should return immediately instead of continuing doing the DMA operation which bases on invalid address. This fixes the following crash which occurs in reading a big block from flash: [ 123.633577] zynqmp-qspi ff0f0000.spi: swiotlb buffer is full (sz: 4194304 bytes), total 32768 (slots), used 0 (slots) [ 123.644230] zynqmp-qspi ff0f0000.spi: ERR:rxdma:memory not mapped [ 123.784625] Unable to handle kernel paging request at virtual address 00000000003fffc0 [ 123.792536] Mem abort info: [ 123.795313] ESR = 0x96000145 [ 123.798351] EC = 0x25: DABT (current EL), IL = 32 bits [ 123.803655] SET = 0, FnV = 0 [ 123.806693] EA = 0, S1PTW = 0 [ 123.809818] Data abort info: [ 123.812683] ISV = 0, ISS = 0x00000145 [ 123.816503] CM = 1, WnR = 1 [ 123.819455] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000805047000 [ 123.825887] [00000000003fffc0] pgd=0000000803b45003, p4d=0000000803b45003, pud=0000000000000000 [ 123.834586] Internal error: Oops: 96000145 [#1] PREEMPT SMP
AI-Powered Analysis
Technical Analysis
CVE-2021-47047 is a vulnerability identified in the Linux kernel's SPI (Serial Peripheral Interface) controller driver for the Zynq UltraScale+ MPSoC platform, specifically the spi-zynqmp-gqspi driver. The vulnerability arises because the driver does not correctly handle the failure of the dma_map_single function, which is responsible for mapping memory for DMA (Direct Memory Access) operations. The SPI controller supports a 44-bit address space on the AXI bus in DMA mode, and the driver sets the dma_addr_t width accordingly to 44 bits to avoid using the swiotlb (Software Input/Output Translation Lookaside Buffer) mapping. However, if dma_map_single fails, the driver erroneously continues with the DMA operation using an invalid address instead of returning an error immediately. This leads to a kernel crash when reading large blocks from flash memory, as evidenced by kernel oops messages and memory abort errors in the logs. The crash is triggered by a swiotlb buffer exhaustion and subsequent invalid memory access, causing a kernel panic or system instability. The issue is rooted in improper error handling in the DMA mapping process within the SPI driver, which can result in denial of service due to kernel crashes. No known exploits are currently reported in the wild, and no CVSS score has been assigned yet. The vulnerability affects specific versions of the Linux kernel containing the faulty spi-zynqmp-gqspi driver code prior to the patch that fixes this error handling flaw.
Potential Impact
For European organizations, the impact of CVE-2021-47047 primarily concerns systems using the affected Linux kernel versions on Zynq UltraScale+ MPSoC platforms or similar embedded devices that rely on the spi-zynqmp-gqspi driver for SPI flash memory access. Such devices are often found in industrial control systems, telecommunications infrastructure, embedded IoT devices, and specialized computing equipment. A successful exploitation leads to kernel crashes causing denial of service, which can disrupt critical operations, especially in industrial automation, manufacturing, or network equipment. While the vulnerability does not appear to allow privilege escalation or remote code execution directly, the resulting instability can be leveraged by attackers to cause outages or force reboots, impacting availability. European sectors with high reliance on embedded Linux devices in critical infrastructure, such as energy, transportation, and manufacturing, may face operational risks. Moreover, the lack of known exploits suggests a lower immediate threat, but the vulnerability could be targeted in future attacks once exploit techniques are developed. The impact on confidentiality and integrity is limited, but availability degradation in critical systems can have significant operational and economic consequences.
Mitigation Recommendations
To mitigate CVE-2021-47047, European organizations should: 1) Identify and inventory all devices running affected Linux kernel versions with the spi-zynqmp-gqspi driver, focusing on embedded systems and industrial devices using Zynq UltraScale+ MPSoC platforms. 2) Apply the official Linux kernel patches that fix the dma_map_single error handling in the spi-zynqmp-gqspi driver as soon as they become available. If immediate patching is not possible, consider kernel version upgrades or vendor firmware updates that include the fix. 3) Implement monitoring for kernel oops and memory abort logs indicative of this issue to detect potential exploitation or system instability early. 4) For critical systems, establish redundancy and failover mechanisms to maintain availability in case of crashes. 5) Coordinate with device vendors to ensure timely firmware and kernel updates are provided and deployed. 6) Limit access to affected devices to trusted administrators and networks to reduce the risk of triggering the vulnerability through malicious input. 7) Conduct thorough testing of patches in staging environments to avoid regressions in embedded systems. These steps go beyond generic advice by focusing on embedded device inventory, vendor coordination, and operational continuity planning specific to this vulnerability.
Affected Countries
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- Linux
- Date Reserved
- 2024-02-27T18:42:55.970Z
- Cisa Enriched
- true
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d9834c4522896dcbe9b90
Added to database: 5/21/2025, 9:09:08 AM
Last enriched: 6/30/2025, 8:12:30 PM
Last updated: 8/10/2025, 12:45:58 AM
Views: 12
Related Threats
CVE-2025-54992: CWE-611: Improper Restriction of XML External Entity Reference in telstra open-kilda
MediumCVE-2025-55012: CWE-288: Authentication Bypass Using an Alternate Path or Channel in zed-industries zed
HighCVE-2025-8854: CWE-120 Buffer Copy without Checking Size of Input ('Classic Buffer Overflow') in bulletphysics bullet3
HighCVE-2025-8830: OS Command Injection in Linksys RE6250
MediumCVE-2025-54878: CWE-122: Heap-based Buffer Overflow in nasa CryptoLib
HighActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
External Links
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.