c23bc76afa
Validate sortOrder against an allowlist at the DTO layer, normalize the direction centrally in DynamicFilterSortBy.buildQuery, and re-sanitize inside every orderByRaw modifier so attacker-controlled SQL cannot reach the ORDER BY clause. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>