c6f60d927a
Custom MySQL Data Directory Validation (Line 1313-1335): - Validates custom path to prevent directory traversal attacks - Rejects paths containing '../' sequences - Resolves to absolute path using cd/pwd to prevent symlink attacks - Prevents confusion and security issues with relative paths - Example blocked: '../../../etc' Ticket Number Validation (Line 1641-1650): - Validates ticket numbers contain only safe alphanumeric characters - Prevents filename/command injection via ticket number - Allows only: [a-zA-Z0-9_-] - Invalid characters result in skipping the ticket number - Prevents log file corruption or path issues Database Name Validation (Line 1622-1632): - Manually entered database names checked for path traversal - Rejects names containing '/' or '..' - Prevents directory traversal when constructing database paths - Array-selected databases already safe (from discovered databases) - Example blocked: '../../evil_dir' Impact: Hardens all major user input points against traversal attacks, filename injection, and command injection. Script is now security-hardened. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>