CVE-2021-47048 (GCVE-0-2021-47048)

Vulnerability from cvelistv5 – Published: 2024-02-28 08:13 – Updated: 2026-08-05 08:45
VLAI
Title
spi: spi-zynqmp-gqspi: fix use-after-free in zynqmp_qspi_exec_op
Summary
In the Linux kernel, the following vulnerability has been resolved: spi: spi-zynqmp-gqspi: fix use-after-free in zynqmp_qspi_exec_op When handling op->addr, it is using the buffer "tmpbuf" which has been freed. This will trigger a use-after-free KASAN warning. Let's use temporary variables to store op->addr.val and op->cmd.opcode to fix this issue.
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2024-09-10 15:57 UTC
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 1c26372e5aa9e53391a1f8fe0dc7cd93a7e5ba9e , < 1231279389b5e638bc3b66b9741c94077aed4b5a (git)
Affected: 1c26372e5aa9e53391a1f8fe0dc7cd93a7e5ba9e , < d67e0d6bd92ebbb0294e7062bbf5cdc773764e62 (git)
Affected: 1c26372e5aa9e53391a1f8fe0dc7cd93a7e5ba9e , < 23269ac9f123eca3aea7682d3345c02e71ed696c (git)
Affected: 1c26372e5aa9e53391a1f8fe0dc7cd93a7e5ba9e , < a2c5bedb2d55dd27c642c7b9fb6886d7ad7bdb58 (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.10
Unaffected: 0 , < 5.10 (semver)
Unaffected: 5.10.37 , ≤ 5.10.* (semver)
Unaffected: 5.11.21 , ≤ 5.11.* (semver)
Unaffected: 5.12.4 , ≤ 5.12.* (semver)
Unaffected: 5.13 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-04T05:24:39.431Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/1231279389b5e638bc3b66b9741c94077aed4b5a"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/d67e0d6bd92ebbb0294e7062bbf5cdc773764e62"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/23269ac9f123eca3aea7682d3345c02e71ed696c"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/a2c5bedb2d55dd27c642c7b9fb6886d7ad7bdb58"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2021-47048",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T15:57:41.551730Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:33:55.958Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/spi/spi-zynqmp-gqspi.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "1231279389b5e638bc3b66b9741c94077aed4b5a",
              "status": "affected",
              "version": "1c26372e5aa9e53391a1f8fe0dc7cd93a7e5ba9e",
              "versionType": "git"
            },
            {
              "lessThan": "d67e0d6bd92ebbb0294e7062bbf5cdc773764e62",
              "status": "affected",
              "version": "1c26372e5aa9e53391a1f8fe0dc7cd93a7e5ba9e",
              "versionType": "git"
            },
            {
              "lessThan": "23269ac9f123eca3aea7682d3345c02e71ed696c",
              "status": "affected",
              "version": "1c26372e5aa9e53391a1f8fe0dc7cd93a7e5ba9e",
              "versionType": "git"
            },
            {
              "lessThan": "a2c5bedb2d55dd27c642c7b9fb6886d7ad7bdb58",
              "status": "affected",
              "version": "1c26372e5aa9e53391a1f8fe0dc7cd93a7e5ba9e",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/spi/spi-zynqmp-gqspi.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.10"
            },
            {
              "lessThan": "5.10",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.37",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.11.*",
              "status": "unaffected",
              "version": "5.11.21",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.12.*",
              "status": "unaffected",
              "version": "5.12.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "5.13",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.37",
                  "versionStartIncluding": "5.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.11.21",
                  "versionStartIncluding": "5.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.12.4",
                  "versionStartIncluding": "5.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.13",
                  "versionStartIncluding": "5.10",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nspi: spi-zynqmp-gqspi: fix use-after-free in zynqmp_qspi_exec_op\n\nWhen handling op-\u003eaddr, it is using the buffer \"tmpbuf\" which has been\nfreed. This will trigger a use-after-free KASAN warning. Let\u0027s use\ntemporary variables to store op-\u003eaddr.val and op-\u003ecmd.opcode to fix\nthis issue."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The vulnerable code is in the Xilinx ZynqMP GQSPI controller\u0027s spi-mem exec_op path, reached only via local syscalls that perform SPI NOR/MTD flash operations (e.g., reading /dev/mtd* or files on a SPI-NOR-backed filesystem), not via network packets or physical plug-in buses.\nAC:L - Any SPI memory operation with both a command and address (the common case for flash reads/writes/erases) reliably frees tmpbuf then immediately reuses xqspi-\u003etxbuf pointing at that freed buffer; no race or attacker-uncontrollable condition is required.\nPR:L - On realistic ZynqMP embedded deployments, QSPI flash is commonly mounted or otherwise readable by unprivileged local users (SPI-NOR-backed filesystems, relaxed /dev/mtd permissions), so basic user privileges suffice to trigger exec_op without requiring real root.\nUI:N - The attacker triggers the UAF solely through their own flash/filesystem accesses; no separate victim action is needed.\nS:U - This is standard kernel memory corruption within the host kernel\u0027s security authority and does not cross a VM, IOMMU, or other security boundary.\nC:H - Use-after-free of the kmalloc\u0027d tmpbuf allows reclaim and control of the freed object contents, which per kernel CVSS guidance enables arbitrary information disclosure.\nI:H - The UAF writes attacker-influenced address bytes into freed slab memory that is subsequently consumed by filltxfifo, enabling heap corruption and potential control-flow hijacking primitives.\nA:H - Use-after-free in this kernel driver path can cause kernel oops/panic or otherwise crash the system when the freed buffer is corrupted or reused."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:45:43.114Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/1231279389b5e638bc3b66b9741c94077aed4b5a"
        },
        {
          "url": "https://git.kernel.org/stable/c/d67e0d6bd92ebbb0294e7062bbf5cdc773764e62"
        },
        {
          "url": "https://git.kernel.org/stable/c/23269ac9f123eca3aea7682d3345c02e71ed696c"
        },
        {
          "url": "https://git.kernel.org/stable/c/a2c5bedb2d55dd27c642c7b9fb6886d7ad7bdb58"
        }
      ],
      "title": "spi: spi-zynqmp-gqspi: fix use-after-free in zynqmp_qspi_exec_op",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2021-47048",
    "datePublished": "2024-02-28T08:13:51.551Z",
    "dateReserved": "2024-02-27T18:42:55.970Z",
    "dateUpdated": "2026-08-05T08:45:43.114Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2021-47048",
      "date": "2026-10-02",
      "epss": "0.0024",
      "percentile": "0.13687"
    },
    "fkie_nvd": {
      "configurations": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "matchCriteriaId": "4E433B72-3E3A-435E-9A66-80D28868BDF2",
                  "versionEndExcluding": "5.10.37",
                  "versionStartIncluding": "5.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "matchCriteriaId": "8CBB94EC-EC33-4464-99C5-03E5542715F0",
                  "versionEndExcluding": "5.11.21",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "matchCriteriaId": "D8C7052F-1B7B-4327-9C2B-84EBF3243838",
                  "versionEndExcluding": "5.12.4",
                  "versionStartIncluding": "5.12",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nspi: spi-zynqmp-gqspi: fix use-after-free in zynqmp_qspi_exec_op\n\nWhen handling op-\u003eaddr, it is using the buffer \"tmpbuf\" which has been\nfreed. This will trigger a use-after-free KASAN warning. Let\u0027s use\ntemporary variables to store op-\u003eaddr.val and op-\u003ecmd.opcode to fix\nthis issue."
        },
        {
          "lang": "es",
          "value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: spi: spi-zynqmp-gqspi: corrige use-after-free en zynqmp_qspi_exec_op Al manejar op-\u0026gt;addr, se utiliza el buffer \"tmpbuf\" que ha sido liberado. Esto activar\u00e1 una advertencia de KASAN de use-after-free. Usemos variables temporales para almacenar op-\u0026gt;addr.val y op-\u0026gt;cmd.opcode para solucionar este problema."
        }
      ],
      "id": "CVE-2021-47048",
      "lastModified": "2024-12-09T19:05:02.510",
      "metrics": {
        "cvssMetricV31": [
          {
            "cvssData": {
              "attackComplexity": "LOW",
              "attackVector": "LOCAL",
              "availabilityImpact": "HIGH",
              "baseScore": 7.8,
              "baseSeverity": "HIGH",
              "confidentialityImpact": "HIGH",
              "integrityImpact": "HIGH",
              "privilegesRequired": "LOW",
              "scope": "UNCHANGED",
              "userInteraction": "NONE",
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
              "version": "3.1"
            },
            "exploitabilityScore": 1.8,
            "impactScore": 5.9,
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      },
      "published": "2024-02-28T09:15:40.370",
      "references": [
        {
          "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "tags": [
            "Patch"
          ],
          "url": "https://git.kernel.org/stable/c/1231279389b5e638bc3b66b9741c94077aed4b5a"
        },
        {
          "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "tags": [
            "Patch"
          ],
          "url": "https://git.kernel.org/stable/c/23269ac9f123eca3aea7682d3345c02e71ed696c"
        },
        {
          "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "tags": [
            "Patch"
          ],
          "url": "https://git.kernel.org/stable/c/a2c5bedb2d55dd27c642c7b9fb6886d7ad7bdb58"
        },
        {
          "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "tags": [
            "Patch"
          ],
          "url": "https://git.kernel.org/stable/c/d67e0d6bd92ebbb0294e7062bbf5cdc773764e62"
        },
        {
          "source": "af854a3a-2127-422b-91ae-364da2661108",
          "tags": [
            "Patch"
          ],
          "url": "https://git.kernel.org/stable/c/1231279389b5e638bc3b66b9741c94077aed4b5a"
        },
        {
          "source": "af854a3a-2127-422b-91ae-364da2661108",
          "tags": [
            "Patch"
          ],
          "url": "https://git.kernel.org/stable/c/23269ac9f123eca3aea7682d3345c02e71ed696c"
        },
        {
          "source": "af854a3a-2127-422b-91ae-364da2661108",
          "tags": [
            "Patch"
          ],
          "url": "https://git.kernel.org/stable/c/a2c5bedb2d55dd27c642c7b9fb6886d7ad7bdb58"
        },
        {
          "source": "af854a3a-2127-422b-91ae-364da2661108",
          "tags": [
            "Patch"
          ],
          "url": "https://git.kernel.org/stable/c/d67e0d6bd92ebbb0294e7062bbf5cdc773764e62"
        }
      ],
      "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "vulnStatus": "Analyzed",
      "weaknesses": [
        {
          "description": [
            {
              "lang": "en",
              "value": "CWE-416"
            }
          ],
          "source": "nvd@nist.gov",
          "type": "Primary"
        }
      ]
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/spi/spi-zynqmp-gqspi.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "1231279389b5e638bc3b66b9741c94077aed4b5a",
                    "status": "affected",
                    "version": "1c26372e5aa9e53391a1f8fe0dc7cd93a7e5ba9e",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "d67e0d6bd92ebbb0294e7062bbf5cdc773764e62",
                    "status": "affected",
                    "version": "1c26372e5aa9e53391a1f8fe0dc7cd93a7e5ba9e",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "23269ac9f123eca3aea7682d3345c02e71ed696c",
                    "status": "affected",
                    "version": "1c26372e5aa9e53391a1f8fe0dc7cd93a7e5ba9e",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "a2c5bedb2d55dd27c642c7b9fb6886d7ad7bdb58",
                    "status": "affected",
                    "version": "1c26372e5aa9e53391a1f8fe0dc7cd93a7e5ba9e",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/spi/spi-zynqmp-gqspi.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "5.10"
                  },
                  {
                    "lessThan": "5.10",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.10.*",
                    "status": "unaffected",
                    "version": "5.10.37",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.11.*",
                    "status": "unaffected",
                    "version": "5.11.21",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.12.*",
                    "status": "unaffected",
                    "version": "5.12.4",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "5.13",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "4E433B72-3E3A-435E-9A66-80D28868BDF2",
                    "versionEndExcluding": "5.10.37",
                    "versionStartIncluding": "5.10",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "8CBB94EC-EC33-4464-99C5-03E5542715F0",
                    "versionEndExcluding": "5.11.21",
                    "versionStartIncluding": "5.11",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "D8C7052F-1B7B-4327-9C2B-84EBF3243838",
                    "versionEndExcluding": "5.12.4",
                    "versionStartIncluding": "5.12",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nspi: spi-zynqmp-gqspi: fix use-after-free in zynqmp_qspi_exec_op\n\nWhen handling op-\u003eaddr, it is using the buffer \"tmpbuf\" which has been\nfreed. This will trigger a use-after-free KASAN warning. Let\u0027s use\ntemporary variables to store op-\u003eaddr.val and op-\u003ecmd.opcode to fix\nthis issue."
          },
          {
            "lang": "es",
            "value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: spi: spi-zynqmp-gqspi: corrige use-after-free en zynqmp_qspi_exec_op Al manejar op-\u0026gt;addr, se utiliza el buffer \"tmpbuf\" que ha sido liberado. Esto activar\u00e1 una advertencia de KASAN de use-after-free. Usemos variables temporales para almacenar op-\u0026gt;addr.val y op-\u0026gt;cmd.opcode para solucionar este problema."
          }
        ],
        "id": "CVE-2021-47048",
        "lastModified": "2026-08-04T10:16:42.817",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            },
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "nvd@nist.gov",
              "type": "Primary"
            }
          ],
          "ssvcV203": [
            {
              "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "ssvcData": {
                "id": "CVE-2021-47048",
                "options": [
                  {
                    "exploitation": "none"
                  },
                  {
                    "automatable": "no"
                  },
                  {
                    "technicalImpact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T15:57:41.551730Z",
                "version": "2.0.3"
              }
            }
          ]
        },
        "published": "2024-02-28T09:15:40.370",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/1231279389b5e638bc3b66b9741c94077aed4b5a"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/23269ac9f123eca3aea7682d3345c02e71ed696c"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/a2c5bedb2d55dd27c642c7b9fb6886d7ad7bdb58"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/d67e0d6bd92ebbb0294e7062bbf5cdc773764e62"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/1231279389b5e638bc3b66b9741c94077aed4b5a"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/23269ac9f123eca3aea7682d3345c02e71ed696c"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/a2c5bedb2d55dd27c642c7b9fb6886d7ad7bdb58"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/d67e0d6bd92ebbb0294e7062bbf5cdc773764e62"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Modified",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "CWE-416"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Low",
      "current_release_date": "2026-08-04T23:04:49+00:00",
      "cve": "CVE-2021-47048",
      "id": "CVE-2021-47048",
      "initial_release_date": "2021-01-01T00:00:00+00:00",
      "product_status:known_not_affected": "198",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: spi: spi-zynqmp-gqspi: fix use-after-free in zynqmp_qspi_exec_op",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2021/cve-2021-47048.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-09T00:38:49Z",
      "cve": "CVE-2021-47048",
      "id": "CVE-2021-47048",
      "initial_release_date": "2024-02-29T03:56:31Z",
      "product_status:known_not_affected": "329",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2021-47048",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2021-47048.json",
      "version": "18"
    },
    "vulnrichment": {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-04T05:24:39.431Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://git.kernel.org/stable/c/1231279389b5e638bc3b66b9741c94077aed4b5a"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://git.kernel.org/stable/c/d67e0d6bd92ebbb0294e7062bbf5cdc773764e62"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://git.kernel.org/stable/c/23269ac9f123eca3aea7682d3345c02e71ed696c"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://git.kernel.org/stable/c/a2c5bedb2d55dd27c642c7b9fb6886d7ad7bdb58"
              }
            ],
            "title": "CVE Program Container"
          },
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2021-47048",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2024-09-10T15:57:41.551730Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2024-09-11T12:42:19.681Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "drivers/spi/spi-zynqmp-gqspi.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "1231279389b5e638bc3b66b9741c94077aed4b5a",
                  "status": "affected",
                  "version": "1c26372e5aa9e53391a1f8fe0dc7cd93a7e5ba9e",
                  "versionType": "git"
                },
                {
                  "lessThan": "d67e0d6bd92ebbb0294e7062bbf5cdc773764e62",
                  "status": "affected",
                  "version": "1c26372e5aa9e53391a1f8fe0dc7cd93a7e5ba9e",
                  "versionType": "git"
                },
                {
                  "lessThan": "23269ac9f123eca3aea7682d3345c02e71ed696c",
                  "status": "affected",
                  "version": "1c26372e5aa9e53391a1f8fe0dc7cd93a7e5ba9e",
                  "versionType": "git"
                },
                {
                  "lessThan": "a2c5bedb2d55dd27c642c7b9fb6886d7ad7bdb58",
                  "status": "affected",
                  "version": "1c26372e5aa9e53391a1f8fe0dc7cd93a7e5ba9e",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "drivers/spi/spi-zynqmp-gqspi.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "5.10"
                },
                {
                  "lessThan": "5.10",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "5.10.*",
                  "status": "unaffected",
                  "version": "5.10.37",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "5.11.*",
                  "status": "unaffected",
                  "version": "5.11.21",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "5.12.*",
                  "status": "unaffected",
                  "version": "5.12.4",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "5.13",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "5.10.37",
                      "versionStartIncluding": "5.10",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "5.11.21",
                      "versionStartIncluding": "5.10",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "5.12.4",
                      "versionStartIncluding": "5.10",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "5.13",
                      "versionStartIncluding": "5.10",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nspi: spi-zynqmp-gqspi: fix use-after-free in zynqmp_qspi_exec_op\n\nWhen handling op-\u003eaddr, it is using the buffer \"tmpbuf\" which has been\nfreed. This will trigger a use-after-free KASAN warning. Let\u0027s use\ntemporary variables to store op-\u003eaddr.val and op-\u003ecmd.opcode to fix\nthis issue."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "scenarios": [
                {
                  "lang": "en",
                  "value": "AV:L - The vulnerable code is in the Xilinx ZynqMP GQSPI controller\u0027s spi-mem exec_op path, reached only via local syscalls that perform SPI NOR/MTD flash operations (e.g., reading /dev/mtd* or files on a SPI-NOR-backed filesystem), not via network packets or physical plug-in buses.\nAC:L - Any SPI memory operation with both a command and address (the common case for flash reads/writes/erases) reliably frees tmpbuf then immediately reuses xqspi-\u003etxbuf pointing at that freed buffer; no race or attacker-uncontrollable condition is required.\nPR:L - On realistic ZynqMP embedded deployments, QSPI flash is commonly mounted or otherwise readable by unprivileged local users (SPI-NOR-backed filesystems, relaxed /dev/mtd permissions), so basic user privileges suffice to trigger exec_op without requiring real root.\nUI:N - The attacker triggers the UAF solely through their own flash/filesystem accesses; no separate victim action is needed.\nS:U - This is standard kernel memory corruption within the host kernel\u0027s security authority and does not cross a VM, IOMMU, or other security boundary.\nC:H - Use-after-free of the kmalloc\u0027d tmpbuf allows reclaim and control of the freed object contents, which per kernel CVSS guidance enables arbitrary information disclosure.\nI:H - The UAF writes attacker-influenced address bytes into freed slab memory that is subsequently consumed by filltxfifo, enabling heap corruption and potential control-flow hijacking primitives.\nA:H - Use-after-free in this kernel driver path can cause kernel oops/panic or otherwise crash the system when the freed buffer is corrupted or reused."
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-08-05T08:45:43.114Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/1231279389b5e638bc3b66b9741c94077aed4b5a"
            },
            {
              "url": "https://git.kernel.org/stable/c/d67e0d6bd92ebbb0294e7062bbf5cdc773764e62"
            },
            {
              "url": "https://git.kernel.org/stable/c/23269ac9f123eca3aea7682d3345c02e71ed696c"
            },
            {
              "url": "https://git.kernel.org/stable/c/a2c5bedb2d55dd27c642c7b9fb6886d7ad7bdb58"
            }
          ],
          "title": "spi: spi-zynqmp-gqspi: fix use-after-free in zynqmp_qspi_exec_op",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2021-47048",
        "datePublished": "2024-02-28T08:13:51.551Z",
        "dateReserved": "2024-02-27T18:42:55.970Z",
        "dateUpdated": "2026-08-05T08:45:43.114Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…