SecurityAnnouncementEN → JA
44
azukiazusa · 1307日前
React は javascript スキームを使った XSS を防ぐことができない
要約
Reactは通常、HTMLエスケープによってクロスサイトスクリプティング(XSS)を防ぎますが、`<a>`タグの`href`属性に`javascript:`スキームを含むURLが直接設定された場合、この保護は機能しません。ユーザーからの入力や信頼できないソースのコンテンツを`href`に直接渡すと、悪意のあるJavaScriptが実行される危険性があります。`dangerouslySetInnerHTML`だけでなく、通常のprops経由でも`javascript:`スキームが許容されるため、開発者はURLサニタイズを徹底する必要があります。
📌
Key Points
- •ReactのXSS対策は主にHTMLエスケープであり、`href`属性に指定された`javascript:`スキームのURLは防げない。
- •ユーザー入力や外部ソースからの`javascript:`スキームを含むURLを`<a>`タグの`href`に設定するとXSSのリスクがある。
- •`dangerouslySetInnerHTML`だけでなく、通常のprops経由でも`javascript:`スキームの実行が可能であり、URLサニタイズが必須である。
Why it matters
Reactアプリケーションにおいて、ユーザーからの入力や外部データを扱う際にURLのサニタイズを怠ると、予期せぬXSS脆弱性を生み出す可能性があるため、開発者はこの特性を理解し対策を講じる必要があります。
関連エンティティ
ReactJavaScriptXSSDOMPurify