{"api_version":"1","generated_at":"2026-10-24T16:31:48+00:00","cve":"CVE-2026-99086","urls":{"html":"https://cve.report/CVE-2026-99086","api":"https://cve.report/api/cve/CVE-2026-99086.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-99086","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-99086"},"summary":{"title":"dm-integrity: validate the superblock on resume","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ndm-integrity: validate the superblock on resume\n\ndm_integrity_resume() re-reads the superblock from the device so that it\npicks up the flags and the recalculate position. It performs no\nvalidation on the result, while the constructor validates the superblock\nit reads and sizes all the in-memory structures according to it. The user\nmay modify the superblock on the underlying device while the dm-integrity\ndevice is suspended, so that the two no longer agree.\n\nIn particular, access_journal_data() shifts the journal entry index by\nic->sb->log2_sectors_per_block, while ic->journal_section_sectors and the\njournal page list were computed with the value that was present at\nconstructor time. Increasing log2_sectors_per_block makes the index run\npast the end of the journal, and dm-integrity then writes 512 bytes\nthrough lowmem_page_address(NULL).\n\nSnapshot the validated superblock in the constructor and refuse to resume\nif any of the fields that describe the on-disk geometry changed.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-10-23 13:17:33","updated_at":"2026-10-23 13:17:33"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/e9ec5cbbaf4dd3a02ae3d81719f4fcb9b609aa8e","name":"https://git.kernel.org/stable/c/e9ec5cbbaf4dd3a02ae3d81719f4fcb9b609aa8e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/fc79aeb86a2c244c1f1894e2d8f2966fe2b60fa2","name":"https://git.kernel.org/stable/c/fc79aeb86a2c244c1f1894e2d8f2966fe2b60fa2","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/454b67fcc28c18502e47dfb9f067b04c28628ada","name":"https://git.kernel.org/stable/c/454b67fcc28c18502e47dfb9f067b04c28628ada","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-99086","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-99086","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 38625191f32f77a9d5fc7cc15f4f9b78768bfb33 454b67fcc28c18502e47dfb9f067b04c28628ada git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 118ba36e446c01e3cd34b3eedabf1d9436525e1d e9ec5cbbaf4dd3a02ae3d81719f4fcb9b609aa8e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 118ba36e446c01e3cd34b3eedabf1d9436525e1d fc79aeb86a2c244c1f1894e2d8f2966fe2b60fa2 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 824b9c27d7b600520b95f0cab95a47d1b08a9483 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected fb49f209995f729053c6ee728436f98d78a49b6f git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c6138af1f5454c2631a837916fda958ea72c0d71 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 3ff70e2e31c419e2230d0c66cb2bfb3b1b414b7f git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.18.16 6.18.58 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.1.165 6.2 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.6.128 6.7 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.12.75 6.13 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.19.6 6.20 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 7.0","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.58 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.12 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3 * 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/md/dm-integrity.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"454b67fcc28c18502e47dfb9f067b04c28628ada","status":"affected","version":"38625191f32f77a9d5fc7cc15f4f9b78768bfb33","versionType":"git"},{"lessThan":"e9ec5cbbaf4dd3a02ae3d81719f4fcb9b609aa8e","status":"affected","version":"118ba36e446c01e3cd34b3eedabf1d9436525e1d","versionType":"git"},{"lessThan":"fc79aeb86a2c244c1f1894e2d8f2966fe2b60fa2","status":"affected","version":"118ba36e446c01e3cd34b3eedabf1d9436525e1d","versionType":"git"},{"status":"affected","version":"824b9c27d7b600520b95f0cab95a47d1b08a9483","versionType":"git"},{"status":"affected","version":"fb49f209995f729053c6ee728436f98d78a49b6f","versionType":"git"},{"status":"affected","version":"c6138af1f5454c2631a837916fda958ea72c0d71","versionType":"git"},{"status":"affected","version":"3ff70e2e31c419e2230d0c66cb2bfb3b1b414b7f","versionType":"git"},{"lessThan":"6.18.58","status":"affected","version":"6.18.16","versionType":"semver"},{"lessThan":"6.2","status":"affected","version":"6.1.165","versionType":"semver"},{"lessThan":"6.7","status":"affected","version":"6.6.128","versionType":"semver"},{"lessThan":"6.13","status":"affected","version":"6.12.75","versionType":"semver"},{"lessThan":"6.20","status":"affected","version":"6.19.6","versionType":"semver"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/md/dm-integrity.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"7.0"},{"lessThan":"7.0","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.58","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.12","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.58","versionStartIncluding":"6.18.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.12","versionStartIncluding":"7.0","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3","versionStartIncluding":"7.0","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1.165","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6.128","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.12.75","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.19.6","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndm-integrity: validate the superblock on resume\n\ndm_integrity_resume() re-reads the superblock from the device so that it\npicks up the flags and the recalculate position. It performs no\nvalidation on the result, while the constructor validates the superblock\nit reads and sizes all the in-memory structures according to it. The user\nmay modify the superblock on the underlying device while the dm-integrity\ndevice is suspended, so that the two no longer agree.\n\nIn particular, access_journal_data() shifts the journal entry index by\nic->sb->log2_sectors_per_block, while ic->journal_section_sectors and the\njournal page list were computed with the value that was present at\nconstructor time. Increasing log2_sectors_per_block makes the index run\npast the end of the journal, and dm-integrity then writes 512 bytes\nthrough lowmem_page_address(NULL).\n\nSnapshot the validated superblock in the constructor and refuse to resume\nif any of the fields that describe the on-disk geometry changed."}],"providerMetadata":{"dateUpdated":"2026-10-23T12:45:04.496Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/454b67fcc28c18502e47dfb9f067b04c28628ada"},{"url":"https://git.kernel.org/stable/c/e9ec5cbbaf4dd3a02ae3d81719f4fcb9b609aa8e"},{"url":"https://git.kernel.org/stable/c/fc79aeb86a2c244c1f1894e2d8f2966fe2b60fa2"}],"title":"dm-integrity: validate the superblock on resume","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-99086","datePublished":"2026-10-23T12:45:04.496Z","dateReserved":"2026-09-25T10:25:14.390Z","dateUpdated":"2026-10-23T12:45:04.496Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-23 13:17:33","lastModifiedDate":"2026-10-23 13:17:33","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"99086","Ordinal":"1","Title":"dm-integrity: validate the superblock on resume","CVE":"CVE-2026-99086","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"99086","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\ndm-integrity: validate the superblock on resume\n\ndm_integrity_resume() re-reads the superblock from the device so that it\npicks up the flags and the recalculate position. It performs no\nvalidation on the result, while the constructor validates the superblock\nit reads and sizes all the in-memory structures according to it. The user\nmay modify the superblock on the underlying device while the dm-integrity\ndevice is suspended, so that the two no longer agree.\n\nIn particular, access_journal_data() shifts the journal entry index by\nic->sb->log2_sectors_per_block, while ic->journal_section_sectors and the\njournal page list were computed with the value that was present at\nconstructor time. Increasing log2_sectors_per_block makes the index run\npast the end of the journal, and dm-integrity then writes 512 bytes\nthrough lowmem_page_address(NULL).\n\nSnapshot the validated superblock in the constructor and refuse to resume\nif any of the fields that describe the on-disk geometry changed.","Type":"Description","Title":"dm-integrity: validate the superblock on resume"}]}}}