Direct User Input as Property Names
Express.js applications use user-controlled input directly as object property names without validation or sanitization. This allows attackers to set arbitrary properties including special properties like __proto__ or constructor, leading to prototype pollution.