Skip to main content

CVE-2021-47047: Vulnerability in Linux Linux

High
VulnerabilityCVE-2021-47047cvecve-2021-47047
Published: Wed Feb 28 2024 (02/28/2024, 08:13:50 UTC)
Source: CVE
Vendor/Project: Linux
Product: 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

AILast updated: 06/30/2025, 20:12:30 UTC

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.

Need more detailed analysis?Get Pro

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

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats