{"id":"CVE-2026-89616","revision":"f4ac987cce0b4fe286390721e30f9f82","records":[{"revision":"f4ac987cce0b4fe286390721e30f9f82","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-89616","aliases":[],"title":"fs/ntfs3: fix info-leak on partial LZNT decompress in ni_read_frame()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nfs/ntfs3: fix info-leak on partial LZNT decompress in ni_read_frame()\n\nni_read_frame() decompresses an LZNT $DATA frame into the vmapped target\npages and then trusts decompress_lznt()'s return value:\n\n  unc_size = decompress_lznt(frame_ondisk, ondisk_size, frame_mem,\n                             frame_size);\n  if ((ssize_t)unc_size < 0)        err = unc_size;\n  else if (!unc_size || unc_size > frame_size)  err = -EINVAL;\n\ndecompress_lznt() stops as soon as the compressed stream is exhausted\n(e.g. a zero chunk header) and returns the number of bytes it actually\nwrote, which may be far less than frame_size. The bytes between unc_size\nand frame_size are never written. The only memset() that follows zeroes\nthe region beyond i_valid; when the frame lies entirely within the file's\nvalid size that memset() does not run, so the gap retains whatever was in\nthe just-vmapped pages. All pages are then marked uptodate and returned\nto userspace, disclosing uninitialized (recently-freed) kernel page\nmemory. A crafted compressed file whose stream decompresses to only a few\nbytes leaks the remainder of every frame on a plain read(2), which is\nenough to recover kernel pointers and defeat KASLR.\n\nZero the [unc_size, frame_size) tail immediately after a successful LZNT\ndecompress so the remainder reads back as zero.","state":0,"publishedAt":"2026-09-11T19:45:16.064+00:00","modifiedAt":"2026-10-19T08:49:48.8+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/ntfs3/frecord.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"4342306f0f0d5ff4315a204d315c1b51b914fca5\",\n                            \"lessThan\": \"7d60a4c49af4d5cb88aa7cbf998d0408bd415055\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4342306f0f0d5ff4315a204d315c1b51b914fca5\",\n                            \"lessThan\": \"cd40eee4923d104ebec9ac7513b971bc441e431d\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4342306f0f0d5ff4315a204d315c1b51b914fca5\",\n                            \"lessThan\": \"77d8efd04745cda23858546afdbd9d07b591758e\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4342306f0f0d5ff4315a204d315c1b51b914fca5\",\n                            \"lessThan\": \"0f699ddb290a24b37e1bc9bf1e3c9dbccf564bea\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4342306f0f0d5ff4315a204d315c1b51b914fca5\",\n                            \"lessThan\": \"376ee45659a4b943df672ad275c63da00655f929\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4342306f0f0d5ff4315a204d315c1b51b914fca5\",\n                            \"lessThan\": \"4a1b39b2e10eb8de86265e80cf2be4396bc1dce4\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4342306f0f0d5ff4315a204d315c1b51b914fca5\",\n                            \"lessThan\": \"35d1ea92c7d946e2ebdbe36cdb2c969c8704bebd\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/ntfs3/frecord.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"5.15\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"5.15\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.221\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.188\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.157\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.109\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.50\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.4\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","score":7.5,"severity":"HIGH"}],"references":["https://git.kernel.org/stable/c/7d60a4c49af4d5cb88aa7cbf998d0408bd415055","https://git.kernel.org/stable/c/cd40eee4923d104ebec9ac7513b971bc441e431d","https://git.kernel.org/stable/c/77d8efd04745cda23858546afdbd9d07b591758e","https://git.kernel.org/stable/c/0f699ddb290a24b37e1bc9bf1e3c9dbccf564bea","https://git.kernel.org/stable/c/376ee45659a4b943df672ad275c63da00655f929","https://git.kernel.org/stable/c/4a1b39b2e10eb8de86265e80cf2be4396bc1dce4","https://git.kernel.org/stable/c/35d1ea92c7d946e2ebdbe36cdb2c969c8704bebd"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-89616","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-89616","identifiers":["CVE-2026-89616"]},"retained":false,"historicalAffected":[]}],"coverage":[]}