Time-of-check Time-of-use (TOCTOU) Affecting perf6.12-debuginfo package, versions <1:6.12.80-105.147.amzn2023


Severity

Recommended
high

Based on Amazon Linux security rating.

Threat Intelligence

EPSS
0.09% (1st percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-AMZN2023-PERF612DEBUGINFO-16426525
  • published6 May 2026
  • disclosed14 Feb 2026

Introduced: 14 Feb 2026

CVE-2026-23207  (opens in a new tab)
CWE-367  (opens in a new tab)

How to fix?

Upgrade Amazon-Linux:2023 perf6.12-debuginfo to version 1:6.12.80-105.147.amzn2023 or higher.
This issue was patched in ALAS2023-2026-1646.

NVD Description

Note: Versions mentioned in the description apply only to the upstream perf6.12-debuginfo package and not the perf6.12-debuginfo package as distributed by Amazon-Linux. See How to fix? for Amazon-Linux:2023 relevant fixed versions and status.

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

spi: tegra210-quad: Protect curr_xfer check in IRQ handler

Now that all other accesses to curr_xfer are done under the lock, protect the curr_xfer NULL check in tegra_qspi_isr_thread() with the spinlock. Without this protection, the following race can occur:

CPU0 (ISR thread) CPU1 (timeout path)


if (!tqspi->curr_xfer) // sees non-NULL spin_lock() tqspi->curr_xfer = NULL spin_unlock() handle_*_xfer() spin_lock() t = tqspi->curr_xfer // NULL! ... t->len ... // NULL dereference!

With this patch, all curr_xfer accesses are now properly synchronized.

Although all accesses to curr_xfer are done under the lock, in tegra_qspi_isr_thread() it checks for NULL, releases the lock and reacquires it later in handle_cpu_based_xfer()/handle_dma_based_xfer(). There is a potential for an update in between, which could cause a NULL pointer dereference.

To handle this, add a NULL check inside the handlers after acquiring the lock. This ensures that if the timeout path has already cleared curr_xfer, the handler will safely return without dereferencing the NULL pointer.

CVSS Base Scores

version 3.1