テンプレートリテラルで生 HTML を組み立てると HTML インジェクションになる
Node.js
バックエンド
セキュリティ
XSS
サーバー側 (NestJS/Node など) でユーザー入力をテンプレートリテラルに raw 補間して HTML 文字列を組み立て、それを Chromium ベースの PDF レンダラなどに渡すと HTML インジェクションが成立する。React/Next.js の自動エスケープは JSX レンダリング時のもので、サーバー側のテンプレートリテラルには効かないし、Node 標準にも HTML エスケープ関数はない。対策は & < > " ' を実体参照化する escapeHtml をユーザー由来の全値に適用すること。escape-html / lodash.escape パッケージか自前関数でよい。