{"id":"CVE-2026-68449","state":"PUBLISHED","title":"ata: sata_dwc_460ex: fix infinite loop in NCQ tag completion bit-scanning","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nata: sata_dwc_460ex: fix infinite loop in NCQ tag completion bit-scanning\n\nThe hand-rolled bit-scanning loop in the NCQ completion path has an\ninfinite loop bug.  When tag_mask has only high bits set (e.g.\n0x80000000), the inner while loop left-shifts tag_mask until it\noverflows to 0.  At that point !(0 & 1) is always true and 0 <<= 1\nstays 0, causing an infinite loop in hardirq context with a spinlock\nheld.\n\nReplace the open-coded bit-scanning with __ffs() which correctly\nfinds the least significant set bit and is bounded by the width of\nthe argument.","publishedAt":"2026-08-12T00:51:47.140Z","updatedAt":"2026-10-30T12:28:40.534Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"62936009f35a6659cc3ebe0d90c754182d60da73","status":"affected","lessThan":"ea9fa4dabe476f85fe73df30a6ab61a23c22fda4","versionType":"git"},{"version":"62936009f35a6659cc3ebe0d90c754182d60da73","status":"affected","lessThan":"d72e8089dc332ac48293512ef0de77cbe0e04d25","versionType":"git"},{"version":"62936009f35a6659cc3ebe0d90c754182d60da73","status":"affected","lessThan":"90e8cf489b593814b9398aa187ddbb790e33ec6f","versionType":"git"},{"version":"62936009f35a6659cc3ebe0d90c754182d60da73","status":"affected","lessThan":"4c6e64cae2b2dab32ad9099faa339f6a72c0ce16","versionType":"git"},{"version":"62936009f35a6659cc3ebe0d90c754182d60da73","status":"affected","lessThan":"8c5de0d8ab6824cfdadcbbe1be4c6c9d9f4c1f80","versionType":"git"},{"version":"62936009f35a6659cc3ebe0d90c754182d60da73","status":"affected","lessThan":"1842d45f461a78988254631893329bdf4596e954","versionType":"git"},{"version":"62936009f35a6659cc3ebe0d90c754182d60da73","status":"affected","lessThan":"29b916d3556bd12a95be7c56ca391b8cd572f8be","versionType":"git"},{"version":"62936009f35a6659cc3ebe0d90c754182d60da73","status":"affected","lessThan":"c2130f6553f4a5cbdc259de069600117a995f197","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/ata/sata_dwc_460ex.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.36","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.36","versionType":"semver"},{"version":"5.10.265","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.216","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.148","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.101","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.42","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.6","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/ata/sata_dwc_460ex.c"]}],"references":["https://git.kernel.org/stable/c/ea9fa4dabe476f85fe73df30a6ab61a23c22fda4","https://git.kernel.org/stable/c/d72e8089dc332ac48293512ef0de77cbe0e04d25","https://git.kernel.org/stable/c/90e8cf489b593814b9398aa187ddbb790e33ec6f","https://git.kernel.org/stable/c/4c6e64cae2b2dab32ad9099faa339f6a72c0ce16","https://git.kernel.org/stable/c/8c5de0d8ab6824cfdadcbbe1be4c6c9d9f4c1f80","https://git.kernel.org/stable/c/1842d45f461a78988254631893329bdf4596e954","https://git.kernel.org/stable/c/29b916d3556bd12a95be7c56ca391b8cd572f8be","https://git.kernel.org/stable/c/c2130f6553f4a5cbdc259de069600117a995f197"],"weaknesses":[],"ingestedAt":"2026-10-30T12:46:06.359Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/68xxx/CVE-2026-68449.json","commit":"1f312381e38164a43607eebab851b151dd16861e","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-68449","state":"PUBLISHED","datePublished":"2026-08-12T00:51:47.140Z","dateUpdated":"2026-10-30T12:28:40.534Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-07-30T09:28:09.395Z"},"containers":{"cna":{"title":"ata: sata_dwc_460ex: fix infinite loop in NCQ tag completion bit-scanning","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nata: sata_dwc_460ex: fix infinite loop in NCQ tag completion bit-scanning\n\nThe hand-rolled bit-scanning loop in the NCQ completion path has an\ninfinite loop bug.  When tag_mask has only high bits set (e.g.\n0x80000000), the inner while loop left-shifts tag_mask until it\noverflows to 0.  At that point !(0 & 1) is always true and 0 <<= 1\nstays 0, causing an infinite loop in hardirq context with a spinlock\nheld.\n\nReplace the open-coded bit-scanning with __ffs() which correctly\nfinds the least significant set bit and is bounded by the width of\nthe argument."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"62936009f35a6659cc3ebe0d90c754182d60da73","status":"affected","lessThan":"ea9fa4dabe476f85fe73df30a6ab61a23c22fda4","versionType":"git"},{"version":"62936009f35a6659cc3ebe0d90c754182d60da73","status":"affected","lessThan":"d72e8089dc332ac48293512ef0de77cbe0e04d25","versionType":"git"},{"version":"62936009f35a6659cc3ebe0d90c754182d60da73","status":"affected","lessThan":"90e8cf489b593814b9398aa187ddbb790e33ec6f","versionType":"git"},{"version":"62936009f35a6659cc3ebe0d90c754182d60da73","status":"affected","lessThan":"4c6e64cae2b2dab32ad9099faa339f6a72c0ce16","versionType":"git"},{"version":"62936009f35a6659cc3ebe0d90c754182d60da73","status":"affected","lessThan":"8c5de0d8ab6824cfdadcbbe1be4c6c9d9f4c1f80","versionType":"git"},{"version":"62936009f35a6659cc3ebe0d90c754182d60da73","status":"affected","lessThan":"1842d45f461a78988254631893329bdf4596e954","versionType":"git"},{"version":"62936009f35a6659cc3ebe0d90c754182d60da73","status":"affected","lessThan":"29b916d3556bd12a95be7c56ca391b8cd572f8be","versionType":"git"},{"version":"62936009f35a6659cc3ebe0d90c754182d60da73","status":"affected","lessThan":"c2130f6553f4a5cbdc259de069600117a995f197","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/ata/sata_dwc_460ex.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.36","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.36","versionType":"semver"},{"version":"5.10.265","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.216","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.148","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.101","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.42","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.6","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/ata/sata_dwc_460ex.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/ea9fa4dabe476f85fe73df30a6ab61a23c22fda4"},{"url":"https://git.kernel.org/stable/c/d72e8089dc332ac48293512ef0de77cbe0e04d25"},{"url":"https://git.kernel.org/stable/c/90e8cf489b593814b9398aa187ddbb790e33ec6f"},{"url":"https://git.kernel.org/stable/c/4c6e64cae2b2dab32ad9099faa339f6a72c0ce16"},{"url":"https://git.kernel.org/stable/c/8c5de0d8ab6824cfdadcbbe1be4c6c9d9f4c1f80"},{"url":"https://git.kernel.org/stable/c/1842d45f461a78988254631893329bdf4596e954"},{"url":"https://git.kernel.org/stable/c/29b916d3556bd12a95be7c56ca391b8cd572f8be"},{"url":"https://git.kernel.org/stable/c/c2130f6553f4a5cbdc259de069600117a995f197"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-30T12:28:40.534Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.36","versionEndExcluding":"5.10.265"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.36","versionEndExcluding":"5.15.216"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.36","versionEndExcluding":"6.1.191"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.36","versionEndExcluding":"6.6.148"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.36","versionEndExcluding":"6.12.101"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.36","versionEndExcluding":"6.18.42"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.36","versionEndExcluding":"7.1.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.36","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}