Description
In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: add depth limit to indx_find_buffer to prevent stack overflow indx_find_buffer() recursively descends the B+ tree index with no depth limit. A crafted NTFS image with circular index node references causes unbounded recursion, overflowing the kernel stack and panicking the system. This is reachable by mounting a malicious NTFS filesystem (e.g. from a USB drive via desktop automount) and deleting a file whose index entry triggers the rebalancing fallback path in indx_delete_entry(). Add a depth parameter and bail out with -EINVAL when it reaches the fnd->nodes array bound, matching the constraint already enforced by fnd_push() in indx_find(). The related function indx_find() was previously patched for a similar infinite-loop issue (commit 1732053c8a6b), but indx_find_buffer() was missed.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
82cae269cfa953032fbb8980a7d554d60fb00b17 to < 99031d4f63c785d2a985b6a4c64c4256f7117052affected82cae269cfa953032fbb8980a7d554d60fb00b17 to < 65357a81f64cb3fbe13b4b937586755e4b3a072faffected82cae269cfa953032fbb8980a7d554d60fb00b17 to < 96fb64f9da86fd2dbd78fbe9d9e41ae27e12ce34affected82cae269cfa953032fbb8980a7d554d60fb00b17 to < 78612f478f9fadcec4f9b3b089970da67ffb47e9affected82cae269cfa953032fbb8980a7d554d60fb00b17 to < 908c9243ba309997b73cbda3e4c563d0fb345ee9affected82cae269cfa953032fbb8980a7d554d60fb00b17 to < fdf50c788e0991e42a187ff75479a0df7fb752f1affected82cae269cfa953032fbb8980a7d554d60fb00b17 to < 1ebd684b8f627f75bc3e03f8b2ad8400fd1f02cdaffected
Linux Linux
Default version status: affected
5.15affected0 to < 5.15unaffected5.15.212 to ≤ 5.15.*unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.97 to ≤ 6.12.*unaffected6.18.40 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/99031d4f63c785d2a985b6a4c64c4256f7117052 ↗
- https://git.kernel.org/stable/c/65357a81f64cb3fbe13b4b937586755e4b3a072f ↗
- https://git.kernel.org/stable/c/96fb64f9da86fd2dbd78fbe9d9e41ae27e12ce34 ↗
- https://git.kernel.org/stable/c/78612f478f9fadcec4f9b3b089970da67ffb47e9 ↗
- https://git.kernel.org/stable/c/908c9243ba309997b73cbda3e4c563d0fb345ee9 ↗
- https://git.kernel.org/stable/c/fdf50c788e0991e42a187ff75479a0df7fb752f1 ↗
- https://git.kernel.org/stable/c/1ebd684b8f627f75bc3e03f8b2ad8400fd1f02cd ↗