Description
In the Linux kernel, the following vulnerability has been resolved: ntfs3: add buffer boundary checks to run_unpack() run_unpack() checks `run_buf < run_last` at the top of the while loop but then reads size_size and offset_size bytes via run_unpack_s64() without verifying they fit within the remaining buffer. A crafted NTFS image with truncated run data in an MFT attribute triggers an OOB heap read of up to 15 bytes when the filesystem is mounted. Add boundary checks before each run_unpack_s64() call to ensure the declared field size does not exceed the remaining buffer. Found by fuzzing with a source-patched harness (LibAFL + QEMU).
Product status
82cae269cfa953032fbb8980a7d554d60fb00b17 (git) before bbad75336870b51b81979b97613746237fcb02fe
82cae269cfa953032fbb8980a7d554d60fb00b17 (git) before 425de2aba0d061b3e715d51a3b1992c112ed5b99
82cae269cfa953032fbb8980a7d554d60fb00b17 (git) before bf7ac4a1d3bfc6e56e54635c3d331a68170d37c9
82cae269cfa953032fbb8980a7d554d60fb00b17 (git) before e64f7dfcaff79e7dfff9121a382dd77f9b462f62
82cae269cfa953032fbb8980a7d554d60fb00b17 (git) before d3012690a7065d9ca86521a525ad11e8af491d45
82cae269cfa953032fbb8980a7d554d60fb00b17 (git) before 41aadf5cb482793a24e05aa136224e179a778586
82cae269cfa953032fbb8980a7d554d60fb00b17 (git) before b62567bca47408e6739dee75f02a2113548af875
5.15
Any version before 5.15
5.15.209 (semver)
6.1.175 (semver)
6.6.140 (semver)
6.12.86 (semver)
6.18.27 (semver)
7.0.4 (semver)
7.1-rc1 (original_commit_for_fix)
References
git.kernel.org/...c/bbad75336870b51b81979b97613746237fcb02fe
git.kernel.org/...c/425de2aba0d061b3e715d51a3b1992c112ed5b99
git.kernel.org/...c/bf7ac4a1d3bfc6e56e54635c3d331a68170d37c9
git.kernel.org/...c/e64f7dfcaff79e7dfff9121a382dd77f9b462f62
git.kernel.org/...c/d3012690a7065d9ca86521a525ad11e8af491d45
git.kernel.org/...c/41aadf5cb482793a24e05aa136224e179a778586
git.kernel.org/...c/b62567bca47408e6739dee75f02a2113548af875