{"id":"CVE-2026-23207","title":"spi: tegra210-quad: Protect curr_xfer check in IRQ handler","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nspi: tegra210-quad: Protect curr_xfer check in IRQ handler\n\nNow that all other accesses to curr_xfer are done under the lock,\nprotect the curr_xfer NULL check in tegra_…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= c934e40246da2c5726d14e94719c514e30840df8 < 513587caec66b67243027f26867ad3512f06744f","Linux >= 551060efb156c50fe33799038ba8145418cfdeef < 84e926c1c272a35ddb9b86842d32fa833a60dfc7","Linux >= 01bbf25c767219b14c3235bfa85906b8d2cb8fbc < 2ac3a105e51496147c0e44e49466eecfcc532d57","Linux >= b4e002d8a7cee3b1d70efad0e222567f92a73000 < edf9088b6e1d6d88982db7eb5e736a0e4fbcc09e","Linux 88db8bb7ed1bb474618acdf05ebd4f0758d244e2","Linux 83309dd551cfd60a5a1a98d9cab19f435b44d46d","Linux bb0c58be84f907285af45657c1d4847b960a12bf","Linux >= 5.15.198 < 5.16","Linux >= 6.1.160 < 6.2","Linux >= 6.17.13 < 6.18","Linux >= 6.6.120 < 6.6.160","Linux >= 6.12.63 < 6.12.80","Linux >= 6.18.2 < 6.18.10"],"published":"2026-02-14","updated":"2026-10-21","sourceUpdated":"2026-10-21T12:38:56.082Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-23207","references":[{"url":"https://git.kernel.org/stable/c/513587caec66b67243027f26867ad3512f06744f"},{"url":"https://git.kernel.org/stable/c/84e926c1c272a35ddb9b86842d32fa833a60dfc7"},{"url":"https://git.kernel.org/stable/c/2ac3a105e51496147c0e44e49466eecfcc532d57"},{"url":"https://git.kernel.org/stable/c/edf9088b6e1d6d88982db7eb5e736a0e4fbcc09e"}],"tags":["cve.org"],"epss":0.00135,"epssPercentile":0.0296,"ingestedAt":"2026-10-21T12:48:53.670Z","slug":"CVE-2026-23207","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nspi: tegra210-quad: Protect curr_xfer check in IRQ handler\n\nNow that all other accesses to curr_xfer are done under the lock,\nprotect the curr_xfer NULL check in tegra_qspi_isr_thread() with the\nspinlock. Without this protection, the following race can occur:\n\n  CPU0 (ISR thread)              CPU1 (timeout path)\n  ----------------               -------------------\n  if (!tqspi->curr_xfer)\n    // sees non-NULL\n                                 spin_lock()\n                                 tqspi->curr_xfer = NULL\n                                 spin_unlock()\n  handle_*_xfer()\n    spin_lock()\n    t = tqspi->curr_xfer  // NULL!\n    ... t->len ...        // NULL dereference!\n\nWith this patch, all curr_xfer accesses are now properly synchronized.\n\nAlthough all accesses to curr_xfer are done under the lock, in\ntegra_qspi_isr_thread() it checks for NULL, releases the lock and\nreacquires it later in handle_cpu_based_xfer()/handle_dma_based_xfer().\nThere is a potential for an update in between, which could cause a NULL\npointer dereference.\n\nTo handle this, add a NULL check inside the handlers after acquiring\nthe lock. This ensures that if the timeout path has already cleared\ncurr_xfer, the handler will safely return without dereferencing the\nNULL pointer.\n\n## Affected\n\n- `Linux >= c934e40246da2c5726d14e94719c514e30840df8 < 513587caec66b67243027f26867ad3512f06744f`\n- `Linux >= 551060efb156c50fe33799038ba8145418cfdeef < 84e926c1c272a35ddb9b86842d32fa833a60dfc7`\n- `Linux >= 01bbf25c767219b14c3235bfa85906b8d2cb8fbc < 2ac3a105e51496147c0e44e49466eecfcc532d57`\n- `Linux >= b4e002d8a7cee3b1d70efad0e222567f92a73000 < edf9088b6e1d6d88982db7eb5e736a0e4fbcc09e`\n- `Linux 88db8bb7ed1bb474618acdf05ebd4f0758d244e2`\n- `Linux 83309dd551cfd60a5a1a98d9cab19f435b44d46d`\n- `Linux bb0c58be84f907285af45657c1d4847b960a12bf`\n- `Linux >= 5.15.198 < 5.16`\n- `Linux >= 6.1.160 < 6.2`\n- `Linux >= 6.17.13 < 6.18`\n- `Linux >= 6.6.120 < 6.6.160`\n- `Linux >= 6.12.63 < 6.12.80`\n- `Linux >= 6.18.2 < 6.18.10`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}