From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 32FD3486E40 for ; Fri, 4 Sep 2026 16:51:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788540681; cv=none; b=CEjeh0ZVgdeeHFsOFqNYtdJo3nvJzlaGMF28/E3XjwEV/UaGtxd2dhP2wXGsF/eQk+bUWlCOJBi7T7Rnd9srxHdIpH6k9woR1SGw3n4yZBJY6KinJa63wUJOaR1ItYCKk3L8hfGJCbN74KJ7x/TXSgj/81IVms1jWXlxXlmijUI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788540681; c=relaxed/simple; bh=/QOMBaINQIMRz7hCTmfeW6MFKCxWQ5SUKFc/gSd+z7M=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=bteGnDJY8xwT5THHOU4FEPXc301ZIYfRg7bZREoCEbzZmyaRO3NwZPKpUy0Hp482XYWqLUXxLRjtSzojkQ4e0OodFyGLoSv9EidN/HMfJEoWlPZDp6+Tp4lGQbhIEW59FazldpXqi30Bo/Rk/NlN/9tuR+9WHFPm8nPGVe0M1mA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=LwsmHqGg; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="LwsmHqGg" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6A60B1F00A3D; Fri, 4 Sep 2026 16:51:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1788540679; bh=3M7bKmw2ueYmopPgTN6KpUKVZMUMqqtL6lUpYmLleUM=; h=From:To:Cc:Subject:Date:Reply-To; b=LwsmHqGg2sH9EF6GbU5IdInfvN2aeRJclh2zM7CRkvFzK4/Q7s9JYQxQdRQ45Zbj6 mKTGiXi92vqkv+2XOKsSOHTKD0mhKejzUqPuZ4ladbTkpGzGZnydcbS3y1IgxnYbdJ Sxqo77xM5lDeENCO1p8au/Ta3XnXVgcX9ZaVMxQA= From: Greg Kroah-Hartman To: linux-cve-announce@vger.kernel.org Cc: Greg Kroah-Hartman Subject: CVE-2026-80869: ntfs: bound the attribute-list entry in ntfs_read_inode_mount() Date: Fri, 4 Sep 2026 18:46:36 +0200 Message-ID: <2026090434-CVE-2026-80869-1030@gregkh> X-Mailer: git-send-email 2.55.0 Reply-To: , Precedence: bulk X-Mailing-List: linux-cve-announce@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2943; i=gregkh@linuxfoundation.org; h=from:subject:message-id; bh=m4YT2/4Z9kHoghuPJmwroGKi9OqfymwiysM2deuvkfk=; b=owGbwMvMwCRo6H6F97bub03G02pJDFmzvr5iXpr4nNX73O11SRHtMvc2FC6fI79jsZ2t/d1l5 SkPQl5c6YhlYRBkYpAVU2T5so3n6P6KQ4pehranYeawMoEMYeDiFICJLJZkmJ+7NGDmXF6n0p1l nzdL5qya8jRuXzrDgjVRy4IzYkrKolutLnXPrfG39yhrAgA= X-Developer-Key: i=gregkh@linuxfoundation.org; a=openpgp; fpr=F4B60CC5BF78C2214A313DCB3147D40DDB2DFB29 Content-Transfer-Encoding: 8bit From: Greg Kroah-Hartman Description =========== In the Linux kernel, the following vulnerability has been resolved: ntfs: bound the attribute-list entry in ntfs_read_inode_mount() The $MFT attribute-list walk in ntfs_read_inode_mount() validates each entry only with "(u8 *)al_entry + 6 > al_end" and "(u8 *)al_entry + le16_to_cpu(al_entry->length) > al_end", but then reads al_entry->lowest_vcn (an __le64 at offset 8) and al_entry->mft_reference (offset 16) -- fields beyond the 6 bytes proven in range. al_entry->length is attacker-controlled and only required non-zero, so a short entry (e.g. length 8) placed at the tail passes both checks while the lowest_vcn / mft_reference reads fall past al_end. al_end is ni->attr_list + attr_list_size (the on-disk size); the buffer is kvzalloc(round_up(attr_list_size, SECTOR_SIZE)), so the sector rounding usually absorbs the over-read -- but when attr_list_size is a multiple of SECTOR_SIZE there is no slack and a crafted $MFT attribute list produces an out-of-bounds read at mount time. Validate the entry with ntfs_attr_list_entry_is_valid() (added in patch 1/3) before dereferencing it, matching the bound the other attribute-list walks now use. The validator already requires the length to cover the fixed header, which makes the separate "!al_entry->length" check redundant, so drop it too. The Linux kernel CVE team has assigned CVE-2026-80869 to this issue. Affected and fixed versions =========================== Issue introduced in 7.1 with commit 1e9ea7e04472d4e5e12e58c881eaacfb3e49b669 and fixed in 7.1.5 with commit c7a7e48e71ce915ec4cbd6e9f355590c1ecbc29a Issue introduced in 7.1 with commit 1e9ea7e04472d4e5e12e58c881eaacfb3e49b669 and fixed in 7.2 with commit 98634df5b1cb56c26299b7409227025ddb0167d8 Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-80869 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: fs/ntfs/inode.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/c7a7e48e71ce915ec4cbd6e9f355590c1ecbc29a https://git.kernel.org/stable/c/98634df5b1cb56c26299b7409227025ddb0167d8