Highlights
Memory Corruption: 4 prior fixes. Scrutinize any change in this area.
src/io/cuda/cuda_row_data.cpp: most-fixed (2 issues). Treat as high-risk during review.
5 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns
The bug types that recur here, drawn from past fixes, not open vulnerabilities.
Memory Corruption: Two separate integer overflows in CUDA row data partitioning and row-wise data lead to memory corruption; both fixed by casting to size_t before multiplication. Similar arithmetic in adjacent CUDA code may remain vulnerable.
Memory Corruption: Incorrect buffer size calculation for distributed training caused memory corruption; the fix corrects size to include SplitInfo. Other buffer resizing in parallel learners may have similar off-by-struct-size errors.
Memory Corruption: Integer overflow in num_leaves calculation from unvalidated max_depth leads to memory corruption; bounds check added. Configuration parsing of other tree parameters may lack similar validation.