Template Engines Without Auto-Escaping Enabled
Express applications use template engines (Pug, EJS, Handlebars, Nunjucks) without enabling automatic HTML escaping, or developers explicitly disable escaping for convenience. Pug templates use unescaped interpolation != instead of escaped = for variable output. EJS templates use <%- variable %> (unescaped) instead of <%= variable %> (escaped). Handlebars uses triple-braces {{{variable}}} allowing raw HTML. Applications configure template engines with {autoescape: false} or similar settings. Without auto-escaping, user-controlled data containing <script> tags, event handlers, or other HTML/JavaScript gets rendered directly into pages, enabling XSS attacks.