{"api_version":"1","generated_at":"2026-07-24T23:41:19+00:00","cve":"CVE-2026-64221","urls":{"html":"https://cve.report/CVE-2026-64221","api":"https://cve.report/api/cve/CVE-2026-64221.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-64221","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-64221"},"summary":{"title":"spi: ti-qspi: fix use-after-free after DMA setup failure","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nspi: ti-qspi: fix use-after-free after DMA setup failure\n\nThe driver falls back to PIO mode if DMA setup fails during probe.\n\nMake sure to clear the DMA channel pointer also if buffer allocation\nfails to avoid passing a pointer to the released channel to the DMA\nengine (or trying to free the channel a second time on late probe errors\nor driver unbind).\n\nThis issue was flagged by Sashiko when reviewing a devres allocation\nconversion patch.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-07-24 16:16:49","updated_at":"2026-07-24 16:16:49"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/ea6ec3343e05f7937a53eb6d7617b3abdb4abc19","name":"https://git.kernel.org/stable/c/ea6ec3343e05f7937a53eb6d7617b3abdb4abc19","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/178b9b570c0f75fa7e691490520328b20d19138e","name":"https://git.kernel.org/stable/c/178b9b570c0f75fa7e691490520328b20d19138e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/3bbbe7ae3fdada0df4157c1ffe989f92dfa8dcd6","name":"https://git.kernel.org/stable/c/3bbbe7ae3fdada0df4157c1ffe989f92dfa8dcd6","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/d7a076fb596c7b408ed6df74793a597990a6d860","name":"https://git.kernel.org/stable/c/d7a076fb596c7b408ed6df74793a597990a6d860","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/f2dc841d7dc9063fe9b47ced869b1271e55052ae","name":"https://git.kernel.org/stable/c/f2dc841d7dc9063fe9b47ced869b1271e55052ae","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/1cd927002120678bd5d23c760246639caa53040e","name":"https://git.kernel.org/stable/c/1cd927002120678bd5d23c760246639caa53040e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/d6f422b122922d1abee907d673bcc990e5f3672d","name":"https://git.kernel.org/stable/c/d6f422b122922d1abee907d673bcc990e5f3672d","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/9c6f306a8140962c7284197db54b96fdb5f468d6","name":"https://git.kernel.org/stable/c/9c6f306a8140962c7284197db54b96fdb5f468d6","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-64221","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-64221","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c687c46e9e4527c4b4d82bc3cca58c1b08bcfb83 9c6f306a8140962c7284197db54b96fdb5f468d6 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c687c46e9e4527c4b4d82bc3cca58c1b08bcfb83 3bbbe7ae3fdada0df4157c1ffe989f92dfa8dcd6 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c687c46e9e4527c4b4d82bc3cca58c1b08bcfb83 d6f422b122922d1abee907d673bcc990e5f3672d git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c687c46e9e4527c4b4d82bc3cca58c1b08bcfb83 f2dc841d7dc9063fe9b47ced869b1271e55052ae git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c687c46e9e4527c4b4d82bc3cca58c1b08bcfb83 1cd927002120678bd5d23c760246639caa53040e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c687c46e9e4527c4b4d82bc3cca58c1b08bcfb83 d7a076fb596c7b408ed6df74793a597990a6d860 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c687c46e9e4527c4b4d82bc3cca58c1b08bcfb83 178b9b570c0f75fa7e691490520328b20d19138e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c687c46e9e4527c4b4d82bc3cca58c1b08bcfb83 ea6ec3343e05f7937a53eb6d7617b3abdb4abc19 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4.12","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 4.12 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.258 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.209 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.175 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.142 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.92 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.34 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0.11 7.0.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/spi/spi-ti-qspi.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"9c6f306a8140962c7284197db54b96fdb5f468d6","status":"affected","version":"c687c46e9e4527c4b4d82bc3cca58c1b08bcfb83","versionType":"git"},{"lessThan":"3bbbe7ae3fdada0df4157c1ffe989f92dfa8dcd6","status":"affected","version":"c687c46e9e4527c4b4d82bc3cca58c1b08bcfb83","versionType":"git"},{"lessThan":"d6f422b122922d1abee907d673bcc990e5f3672d","status":"affected","version":"c687c46e9e4527c4b4d82bc3cca58c1b08bcfb83","versionType":"git"},{"lessThan":"f2dc841d7dc9063fe9b47ced869b1271e55052ae","status":"affected","version":"c687c46e9e4527c4b4d82bc3cca58c1b08bcfb83","versionType":"git"},{"lessThan":"1cd927002120678bd5d23c760246639caa53040e","status":"affected","version":"c687c46e9e4527c4b4d82bc3cca58c1b08bcfb83","versionType":"git"},{"lessThan":"d7a076fb596c7b408ed6df74793a597990a6d860","status":"affected","version":"c687c46e9e4527c4b4d82bc3cca58c1b08bcfb83","versionType":"git"},{"lessThan":"178b9b570c0f75fa7e691490520328b20d19138e","status":"affected","version":"c687c46e9e4527c4b4d82bc3cca58c1b08bcfb83","versionType":"git"},{"lessThan":"ea6ec3343e05f7937a53eb6d7617b3abdb4abc19","status":"affected","version":"c687c46e9e4527c4b4d82bc3cca58c1b08bcfb83","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/spi/spi-ti-qspi.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"4.12"},{"lessThan":"4.12","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.258","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.209","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.175","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.142","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.92","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.34","versionType":"semver"},{"lessThanOrEqual":"7.0.*","status":"unaffected","version":"7.0.11","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.258","versionStartIncluding":"4.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.209","versionStartIncluding":"4.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.175","versionStartIncluding":"4.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.142","versionStartIncluding":"4.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.92","versionStartIncluding":"4.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.34","versionStartIncluding":"4.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0.11","versionStartIncluding":"4.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1","versionStartIncluding":"4.12","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nspi: ti-qspi: fix use-after-free after DMA setup failure\n\nThe driver falls back to PIO mode if DMA setup fails during probe.\n\nMake sure to clear the DMA channel pointer also if buffer allocation\nfails to avoid passing a pointer to the released channel to the DMA\nengine (or trying to free the channel a second time on late probe errors\nor driver unbind).\n\nThis issue was flagged by Sashiko when reviewing a devres allocation\nconversion patch."}],"providerMetadata":{"dateUpdated":"2026-07-24T15:23:07.502Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/9c6f306a8140962c7284197db54b96fdb5f468d6"},{"url":"https://git.kernel.org/stable/c/3bbbe7ae3fdada0df4157c1ffe989f92dfa8dcd6"},{"url":"https://git.kernel.org/stable/c/d6f422b122922d1abee907d673bcc990e5f3672d"},{"url":"https://git.kernel.org/stable/c/f2dc841d7dc9063fe9b47ced869b1271e55052ae"},{"url":"https://git.kernel.org/stable/c/1cd927002120678bd5d23c760246639caa53040e"},{"url":"https://git.kernel.org/stable/c/d7a076fb596c7b408ed6df74793a597990a6d860"},{"url":"https://git.kernel.org/stable/c/178b9b570c0f75fa7e691490520328b20d19138e"},{"url":"https://git.kernel.org/stable/c/ea6ec3343e05f7937a53eb6d7617b3abdb4abc19"}],"title":"spi: ti-qspi: fix use-after-free after DMA setup failure","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-64221","datePublished":"2026-07-24T15:23:07.502Z","dateReserved":"2026-07-19T15:36:31.770Z","dateUpdated":"2026-07-24T15:23:07.502Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-07-24 16:16:49","lastModifiedDate":"2026-07-24 16:16:49","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"64221","Ordinal":"1","Title":"spi: ti-qspi: fix use-after-free after DMA setup failure","CVE":"CVE-2026-64221","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"64221","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nspi: ti-qspi: fix use-after-free after DMA setup failure\n\nThe driver falls back to PIO mode if DMA setup fails during probe.\n\nMake sure to clear the DMA channel pointer also if buffer allocation\nfails to avoid passing a pointer to the released channel to the DMA\nengine (or trying to free the channel a second time on late probe errors\nor driver unbind).\n\nThis issue was flagged by Sashiko when reviewing a devres allocation\nconversion patch.","Type":"Description","Title":"spi: ti-qspi: fix use-after-free after DMA setup failure"}]}}}