ActivityPub – WordPress plugin | WordPress.org
https://wordpress.org/plugins/activitypub/#developers
8.2.0 – 2026-04-27
Security
- ActivityPub REST endpoints no longer advertise credentialed cross-origin access. Browser-based clients using OAuth bearer tokens continue to work as before.
- Aligned the deprecated signature verifier’s clock tolerance with the supported verifiers.
- Blocked additional reserved IPv6 ranges from outbound request safety checks.
- Decoded percent-encoded forms in the follower sync authority before the safety check.
- Fail closed when an OAuth request can’t be tied to a client IP, instead of sharing one rate-limit bucket.
- Hardened input handling for incoming federated activity types.
- Hardened outbound request handling for third-party app connections and live activity streams.
- Hardened outbound request safety to cover IPv6-only third-party hosts.
- Per-IP rate limits now only trust the actual TCP peer by default, so an attacker on a directly-exposed site cannot bypass the cap by spoofing X-Forwarded-For or similar proxy headers. Sites behind a trusted reverse proxy (Cloudflare, Akamai, nginx) can opt the relevant header back in via the new “activitypub_client_ip_sources” filter.
- Reject follower sync requests targeted at internal-network hosts at the route layer.
- Required signatures on HEAD requests to peer-only endpoints.
Changed
- Development tooling: require PHPUnit 9.6.33 or newer (security fix CVE-2026-24765). No runtime impact for end users.
- OAuth public clients must now use PKCE by default, matching OAuth 2.1. Site operators can relax this via the activitypub_oauth_require_pkce filter if legacy clients need to connect.
- Returned the standard rate-limit response from the OAuth token endpoint when too many requests are sent.
Fixed
- Delete activities no longer bypass signature verification on endpoints that explicitly require it.
- OAuth token revocation now verifies the caller owns the token being revoked.
- Tighten HTTP signature verification: narrow the clock-skew window, reject signatures that carry no freshness timestamp, and cap unreasonable expiry times. Peers that sign without a Date or creation timestamp will no longer verify.
- Trim dev-only configuration files from the plugin release package.
Google翻訳
8.2.0 – 2026-04-27
Security
- ActivityPub RESTエンドポイントは、認証情報付きクロスオリジンアクセスを通知しなくなりました。OAuthベアラートークンを使用するブラウザベースのクライアントは、これまで通り動作します。
- 非推奨となった署名検証ツールのクロック許容値を、サポートされている検証ツールと整合させました。
- 送信リクエストの安全性チェックから、追加の予約済みIPv6アドレス範囲を除外しました。
- フォロワー同期オーソリティにおいて、安全性チェックの前にパーセントエンコードされたフォームをデコードしました。
- OAuthリクエストがクライアントIPに紐付けられない場合、単一のレート制限バケットを共有するのではなく、フェイルクローズするようにしました。
- 受信フェデレーションアクティビティタイプの入力処理を強化しました。
- サードパーティアプリ接続およびライブアクティビティストリームの送信リクエスト処理を強化しました。
- IPv6のみのサードパーティホストに対応するため、送信リクエストの安全性を強化しました。
- IPアドレスごとのレート制限は、デフォルトでは実際のTCPピアのみを信頼するようになりました。そのため、直接公開されているサイトの攻撃者は、X-Forwarded-Forなどのプロキシヘッダーを偽装して制限を回避することはできません。信頼できるリバースプロキシ(Cloudflare、Akamai、nginxなど)の背後にあるサイトは、新しい「activitypub_client_ip_sources」フィルタを使用して、該当するヘッダーを再度有効にすることができます。
- ルーティング層で、内部ネットワークホストを対象とするフォロワー同期リクエストを拒否します。
- ピア専用エンドポイントへのHEADリクエストには、署名が必須となります。
Changed
- 開発ツール:PHPUnit 9.6.33以降が必要になりました(セキュリティ修正 CVE-2026-24765)。エンドユーザーのランタイムに影響はありません。
- OAuthパブリッククライアントは、OAuth 2.1に準拠し、デフォルトでPKCEを使用する必要があります。レガシークライアントが接続する必要がある場合は、サイト運営者はactivitypub_oauth_require_pkceフィルターを使用してこの制限を緩和できます。
- リクエスト数が多すぎる場合、OAuthトークンエンドポイントから標準のレート制限応答が返されるようになりました。
Fixed
- 削除アクティビティは、明示的に署名検証を要求するエンドポイントにおいて、署名検証をバイパスしなくなりました。
- OAuthトークンの失効処理において、呼び出し元が失効対象のトークンを所有していることを検証するようになりました。
- HTTP署名検証を強化しました。クロックスキューの許容範囲を狭め、有効期限タイムスタンプのない署名を拒否し、不当に長い有効期限を設定しました。日付または作成タイムスタンプのない署名を行うピアは、検証を行いません。
- プラグインのリリースパッケージから、開発者専用の設定ファイルを削除しました。

コメント