Description
In the Linux kernel, the following vulnerability has been resolved: ext4: fix buffer_head leak in ext4_init_orphan_info ext4_init_orphan_info() reads orphan file blocks with ext4_bread() and stores the returned buffer_head in oi->of_binfo[i].ob_bh. If ext4_bread() succeeds but the orphan block magic or checksum validation fails, the function jumps to out_free. However, the old out_free loop starts releasing buffers from i - 1, so the current buffer_head at index i is skipped. This leaks the buffer_head reference obtained by ext4_bread() on the bad magic and bad checksum error paths. Fix this by tracking the number of successfully read buffer_heads and releasing exactly those buffer_heads on the error path.
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
02f310fcf47fa9311d6ba2946a8d19e7d7d11f37 to < a9a6ec1298f9bc134b2c5db27d25bb10603b7113affected02f310fcf47fa9311d6ba2946a8d19e7d7d11f37 to < 35fc83c65faf7949f5701bb34b20f822560a7718affected02f310fcf47fa9311d6ba2946a8d19e7d7d11f37 to < 74637f7fef030e5fb2e835b7dfeb05efdc48e0feaffected02f310fcf47fa9311d6ba2946a8d19e7d7d11f37 to < 6ec53ccab0d691b3c73e03d930343ca45987e88daffected02f310fcf47fa9311d6ba2946a8d19e7d7d11f37 to < 1399f102d8a1855c1a38506057306ec79d0787d9affected02f310fcf47fa9311d6ba2946a8d19e7d7d11f37 to < e1e342d9a561c016b8531ec1f4dcefaad9d64954affected02f310fcf47fa9311d6ba2946a8d19e7d7d11f37 to < 05704335803b69c1bfa8637b7ada942bf2ee8a41affected
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.110 to ≤ 6.12.*unaffected6.18.52 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/a9a6ec1298f9bc134b2c5db27d25bb10603b7113 ↗
- https://git.kernel.org/stable/c/35fc83c65faf7949f5701bb34b20f822560a7718 ↗
- https://git.kernel.org/stable/c/74637f7fef030e5fb2e835b7dfeb05efdc48e0fe ↗
- https://git.kernel.org/stable/c/6ec53ccab0d691b3c73e03d930343ca45987e88d ↗
- https://git.kernel.org/stable/c/1399f102d8a1855c1a38506057306ec79d0787d9 ↗
- https://git.kernel.org/stable/c/e1e342d9a561c016b8531ec1f4dcefaad9d64954 ↗
- https://git.kernel.org/stable/c/05704335803b69c1bfa8637b7ada942bf2ee8a41 ↗