概要
本プラグインは /wp/v2/users エンドポイントおよび /wp/v2/users/{id} への個別アクセスを制限している(v1.1.1・v1.1.5)。しかし WordPress REST API の _embed パラメータを使い /wp/v2/posts?_embed=author または /wp/v2/posts/{id}?_embed を呼び出すと、レスポンスの _embedded.author[] に著者の表示名・スラッグ・アバター URL・プロフィールリンクが埋め込まれて返却される。このベクターに対する保護がプラグインの changelog や description に一切言及されておらず、著者情報隠蔽が不完全になっている可能性が高い。
Evidence
- プラグイン v1.1.5 changelog: 「Hide single REST API for single user get
wp/v2/users/1」→ ユーザー直接取得は保護済み
- WordPress REST API 仕様:
GET /wp/v2/posts?_embed=author は認証不要で _embedded.author[0].name・slug・avatar_urls を返す
- プラグインの description: 「Hide user list in REST API from user without permission」と記載されているが
_embed 経由のフォールスルーに言及なし
- active_installs 500 件のうち、セキュリティ・プライバシー目的でインストールしているユーザーが主要ターゲットであり、影響範囲が大きい
- 競合 Edit Author Slug(100,000 installs)や WP Meta and Date Remover(90,000 installs)はこのベクターに言及しておらず、先行対応で差別化可能
推奨アクション
rest_prepare_post フィルターを追加し、_links および _embedded の author フィールドを権限に応じて除去・匿名化する
rest_request_before_callbacks または rest_post_dispatch フックで _embed=author リクエストの権限チェックを実装する
- 手動検証コマンド(例:
curl "https://example.com/wp-json/wp/v2/posts?_embed=author")をREADMEに追記し、修正後に著者情報が返らないことを確認する
- PHPUnit テストに
/wp/v2/posts?_embed=author レスポンスの著者フィールド匿名化を検証するケースを追加する
Generated by wp-plugin-audit on 2026-06-01
概要
本プラグインは
/wp/v2/usersエンドポイントおよび/wp/v2/users/{id}への個別アクセスを制限している(v1.1.1・v1.1.5)。しかし WordPress REST API の_embedパラメータを使い/wp/v2/posts?_embed=authorまたは/wp/v2/posts/{id}?_embedを呼び出すと、レスポンスの_embedded.author[]に著者の表示名・スラッグ・アバター URL・プロフィールリンクが埋め込まれて返却される。このベクターに対する保護がプラグインの changelog や description に一切言及されておらず、著者情報隠蔽が不完全になっている可能性が高い。Evidence
wp/v2/users/1」→ ユーザー直接取得は保護済みGET /wp/v2/posts?_embed=authorは認証不要で_embedded.author[0].name・slug・avatar_urlsを返す_embed経由のフォールスルーに言及なし推奨アクション
rest_prepare_postフィルターを追加し、_linksおよび_embeddedのauthorフィールドを権限に応じて除去・匿名化するrest_request_before_callbacksまたはrest_post_dispatchフックで_embed=authorリクエストの権限チェックを実装するcurl "https://example.com/wp-json/wp/v2/posts?_embed=author")をREADMEに追記し、修正後に著者情報が返らないことを確認する/wp/v2/posts?_embed=authorレスポンスの著者フィールド匿名化を検証するケースを追加するGenerated by wp-plugin-audit on 2026-06-01