Problem
MetadataService.upsertMetadata() calls validateMetadata(), but the validator body is empty (metadata.service.ts:50-53). Title, description, and category are inserted into the database without length checks, format enforcement, or sanitisation — opening the door to oversized payloads and stored XSS.
Fix
Implement the validator: enforce max lengths, allowlisted categories, and strip/reject dangerous characters before any DB write.
File: backend/src/services/metadata.service.ts:36-54
Problem
MetadataService.upsertMetadata()callsvalidateMetadata(), but the validator body is empty (metadata.service.ts:50-53). Title, description, and category are inserted into the database without length checks, format enforcement, or sanitisation — opening the door to oversized payloads and stored XSS.Fix
Implement the validator: enforce max lengths, allowlisted categories, and strip/reject dangerous characters before any DB write.
File:
backend/src/services/metadata.service.ts:36-54