The vulnerability stems from insufficient validation in the SQL execution path. The critical patch modified Db::executeS in classes/db/Db.php to add checks for 'OUTFILE' and 'DUMPFILE' keywords, which are used for file operations in MySQL. Prior to the patch, executeS only validated the initial query type (e.g., SELECT) via regex but didn't inspect the full query for these dangerous clauses. This allowed SQL injection payloads containing 'INTO OUTFILE/DUMPFILE' to execute, enabling arbitrary file writes. The RequestSql.php change (adding keywords to a blocklist) reinforces this fix but the primary vulnerability resided in Db::executeS's lack of clause validation during query execution.