CVE-2021-4441

Summary

In the Linux kernel, the following vulnerability has been resolved:

spi: spi-zynq-qspi: Fix a NULL pointer dereference in zynq_qspi_exec_mem_op()

In zynq_qspi_exec_mem_op(), kzalloc() is directly used in memset(), which could lead to a NULL pointer dereference on failure of kzalloc().

Fix this bug by adding a check of tmpbuf.

This bug was found by a static analyzer. The analysis employs differential checking to identify inconsistent security operations (e.g., checks or kfrees) between two code paths and confirms that the inconsistent operations are not recovered in the current function or the callers, so they constitute bugs.

Note that, as a bug found by static analysis, it can be a false positive or hard to trigger. Multiple researchers have cross-reviewed the bug.

Builds with CONFIG_SPI_ZYNQ_QSPI=m show no new warnings, and our static analyzer no longer warns about this code.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux67dca5e580f1e93a66177389981541cac208c817 < df14d2bed8e2455878e046e67123d9ecb2e79056affected
LinuxLinux67dca5e580f1e93a66177389981541cac208c817 < 2efece1368aeee2d2552c7ec36aeb676c4d4c95faffected
LinuxLinux67dca5e580f1e93a66177389981541cac208c817 < 3c32405d6474a21f7d742828e73c13e326dcae82affected
LinuxLinux67dca5e580f1e93a66177389981541cac208c817 < b9dd08cbebe0c593c49bf86d2012a431494e54cbaffected
LinuxLinux67dca5e580f1e93a66177389981541cac208c817 < ab3824427b848da10e9fe2727f035bbeecae6ff4affected
LinuxLinux5.2affected
LinuxLinux0 < 5.2unaffected
LinuxLinux5.4.182 <= 5.4.*unaffected
LinuxLinux5.10.103 <= 5.10.*unaffected
LinuxLinux5.15.26 <= 5.15.*unaffected
LinuxLinux5.16.12 <= 5.16.*unaffected
LinuxLinux5.17 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

References