Skip to content

[WP Audit] iframe の sandbox / allow 属性未対応によるセキュリティ設定の欠如 #38

Description

@claude

概要

本プラグインが生成する <iframe>sandbox 属性および allow 属性(Permissions Policy)をサポートしていません。プラグインの主要ユースケース(コントリビューターやマルチサイトのエディターが unfiltered_html 権限なしでiframeを埋め込む)を考慮すると、セキュリティ制御の欠如は深刻です。悪意のある埋め込みコンテンツによる クリックジャッキング・スクリプトインジェクション・カメラ/マイクへの不正アクセス 等のリスクがあります。sandbox 属性を適切に設定することで、埋め込みコンテンツの権限を最小化でき、サイト管理者が安全なiframe運用を行えるようになります。

Evidence

  • 本プラグインの主要機能: unfiltered_html 権限のないユーザーでもiframeを埋め込み可能
  • sandbox 属性未対応: 埋め込みコンテンツがJavaScript・フォーム送信・ポップアップ等を自由に実行できる状態
  • allow 属性未対応: カメラ・マイク・位置情報等のブラウザ権限を制御できない
  • OWASP Top 10 ではiframeを利用した攻撃(クリックジャッキング等)が言及されている
  • WordPress のセキュリティベストプラクティスでは埋め込みコンテンツの権限制限を推奨
  • 競合プラグイン Spectra の YouTube embed ブロックは sandbox="allow-scripts allow-same-origin allow-presentation allow-popups allow-popups-to-escape-sandbox" を付与(コード内確認)

推奨アクション

  • ブロック属性に sandbox フィールドを追加し、管理画面から設定可能にする(例: allow-scriptsallow-same-originallow-forms 等のチェックボックス)
  • allow 属性フィールドも追加し、Permissions Policy(cameramicrophonefullscreen 等)を制御できるようにする
  • デフォルト値として安全な sandbox 設定(例: allow-scripts allow-same-origin)を推奨値として提示する
  • ドキュメント(FAQ・README)に各属性の用途と推奨設定を日本語・英語で解説するセクションを追加する
  • セキュリティ機能の追加をプラグイン説明文に明記し、企業・教育機関向けユースケースへの訴求を強化する

Generated by wp-plugin-audit on 2026-05-01

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions