Description
In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: bound page_lcns[] index by the log record The copy_lcns loop and the redo shorten loop index page_lcns[] at j + i, where i runs up to the log record's lcns_follow. That count is checked only against the record's own length, not the target entry, so check_dp_table() (which validates the entry's lcns_follow) does not cover it: the copy_lcns entry may even be freshly allocated after that check, and find_dp() bounds j but not i. A crafted record thus overflows page_lcns[] of an otherwise valid entry. Add dp_range_ok() and reject, before each loop, any record whose run does not fit the entry. These are the only two page_lcns[] accesses indexed by the record rather than the entry, so together with the entry validation every access is now bounded. [almaz.alexandrovich@paragon-software.com: original patch contained changes to the problem already handled, applied partly]
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
b46acd6a6a627d876898e1c84d3f84902264b445 to < 31fdd11f75da9823500168cecb07aa45130915a3affectedb46acd6a6a627d876898e1c84d3f84902264b445 to < bb742d1030864c0fe140666f639428ba4e90b2caaffectedb46acd6a6a627d876898e1c84d3f84902264b445 to < 61ca8cbbf68f77f25b699ed4358bd232f94ed43baffectedb46acd6a6a627d876898e1c84d3f84902264b445 to < f4c1bc6d7331f344ffcea93c2a37badcbe15baa6affectedb46acd6a6a627d876898e1c84d3f84902264b445 to < 7ccb94901f38a062034b56b43c774050b113758faffectedb46acd6a6a627d876898e1c84d3f84902264b445 to < 1135ebc225996b3ac1a295652b19a0a706737a6caffectedb46acd6a6a627d876898e1c84d3f84902264b445 to < 6f7b9dbdc1b7520206abce0049bdd143eb536e75affected
Linux Linux
Default version status: affected
5.15affected0 to < 5.15unaffected5.15.221 to ≤ 5.15.*unaffected6.1.188 to ≤ 6.1.*unaffected6.6.157 to ≤ 6.6.*unaffected6.12.109 to ≤ 6.12.*unaffected6.18.50 to ≤ 6.18.*unaffected7.2.4 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/31fdd11f75da9823500168cecb07aa45130915a3 ↗
- https://git.kernel.org/stable/c/bb742d1030864c0fe140666f639428ba4e90b2ca ↗
- https://git.kernel.org/stable/c/61ca8cbbf68f77f25b699ed4358bd232f94ed43b ↗
- https://git.kernel.org/stable/c/f4c1bc6d7331f344ffcea93c2a37badcbe15baa6 ↗
- https://git.kernel.org/stable/c/7ccb94901f38a062034b56b43c774050b113758f ↗
- https://git.kernel.org/stable/c/1135ebc225996b3ac1a295652b19a0a706737a6c ↗
- https://git.kernel.org/stable/c/6f7b9dbdc1b7520206abce0049bdd143eb536e75 ↗