Asayomu Tech
注目★★★★★GitHub Advisory

YesWiki の ActivityPub 署名検証に致命的バイパス、認証なしで任意操作可能

30秒で把握

  • 1YesWiki の ActivityPub 署名検証が `-1` エラー値を真と判定し、検証を完全に迂回可能
  • 2DSA/EC 鍵と RSA アルゴリズムの組み合わせで確実に再現・公式 Docker イメージを含む多数デプロイ対象
  • 3未認証の外部からの ActivityPub メッセージで任意処理が実行される危険・即パッチ導入と過去ログの確認が必須

要約

YesWiki の `HttpSignatureService::verifySignature()` が PHP の `openssl_verify()` の戻り値を不正に扱っており、認証なしで ActivityPub 署名検証を迂回できる。`openssl_verify()` が内部エラーで `-1` を返した場合、PHP の真偽値評価により `!(-1) === false` となり検証例外が発生せず、不正な署名でも `processActivity()` が実行される。DSA/EC 公開鍵に RSA アルゴリズムを指定した場合や旧 PHP/OpenSSL 環境で -1 が返され、YesWiki 公式の Docker イメージを含む多くのデプロイメントが影響を受ける。

あなたへの影響

YesWiki を ActivityPub で公開利用しているチームは。

推奨:即座に本脆弱性の修正パッチを適用し、署名検証周辺のログ (エラーコード、検証失敗) を 1 ヶ月分遡って確認し、不審な activity 処理がないかを調査推奨。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。