Beyond reentrancy: unchecked return values, missing access control, uninitialised proxies, price manipulation, integer truncation on casts, DoS by unbounded loops, DoS by a reverting recipient, signature replay, and timestamp reliance for critical logic.
uint256 big = 2**200; uint128 small = uint128(big); // silently truncates
Most incidents are not exotic — they are a missing check on a familiar pattern.