{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-40293","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-04-16T07:20:57.185Z","datePublished":"2025-12-08T00:46:16.850Z","dateUpdated":"2026-05-11T21:46:32.879Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-05-11T21:46:32.879Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\niommufd: Don't overflow during division for dirty tracking\n\nIf pgshift is 63 then BITS_PER_TYPE(*bitmap->bitmap) * pgsize will overflow\nto 0 and this triggers divide by 0.\n\nIn this case the index should just be 0, so reorganize things to divide\nby shift and avoid hitting any overflows."}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/iommu/iommufd/iova_bitmap.c"],"versions":[{"version":"58ccf0190d19d9a8a41f8a02b9e06742b58df4a1","lessThan":"07105e61882ff4a7d58db63cc5f9e90c6c60506c","status":"affected","versionType":"git"},{"version":"58ccf0190d19d9a8a41f8a02b9e06742b58df4a1","lessThan":"4c8a4f1d34eced168cc0b3a3dfe7b6dcc2090f69","status":"affected","versionType":"git"},{"version":"58ccf0190d19d9a8a41f8a02b9e06742b58df4a1","lessThan":"de7f2c67ceb1941b05b04ac35458a03e93cc57b1","status":"affected","versionType":"git"},{"version":"58ccf0190d19d9a8a41f8a02b9e06742b58df4a1","lessThan":"dbf316fc90aa954dcd5440817f4b944627ed63e0","status":"affected","versionType":"git"},{"version":"58ccf0190d19d9a8a41f8a02b9e06742b58df4a1","lessThan":"cb30dfa75d55eced379a42fd67bd5fb7ec38555e","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/iommu/iommufd/iova_bitmap.c"],"versions":[{"version":"6.1","status":"affected"},{"version":"0","lessThan":"6.1","status":"unaffected","versionType":"semver"},{"version":"6.1.159","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.117","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.58","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.17.8","lessThanOrEqual":"6.17.*","status":"unaffected","versionType":"semver"},{"version":"6.18","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1","versionEndExcluding":"6.1.159"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1","versionEndExcluding":"6.6.117"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1","versionEndExcluding":"6.12.58"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1","versionEndExcluding":"6.17.8"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1","versionEndExcluding":"6.18"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/07105e61882ff4a7d58db63cc5f9e90c6c60506c"},{"url":"https://git.kernel.org/stable/c/4c8a4f1d34eced168cc0b3a3dfe7b6dcc2090f69"},{"url":"https://git.kernel.org/stable/c/de7f2c67ceb1941b05b04ac35458a03e93cc57b1"},{"url":"https://git.kernel.org/stable/c/dbf316fc90aa954dcd5440817f4b944627ed63e0"},{"url":"https://git.kernel.org/stable/c/cb30dfa75d55eced379a42fd67bd5fb7ec38555e"}],"title":"iommufd: Don't overflow during division for dirty tracking","x_generator":{"engine":"bippy-1.2.0"}}}}