オープンソースのプロジェクト管理ツール「Kaneo」の開発者であるAndrej Acevski氏は5月29日、クラウドホスト版(cloud.kaneo.app)が3時間足らずで悪用され、14,520通のフィッシング招待メールが送信されたことを発見した。攻撃者は使い捨てメールサービスを使って942個のアカウントを一括登録し、各アカウントにフィッシングの文言を使ったワークスペース名(例:「
Paul Brown from BANKING OPERATION invited you to join 3.4090_BTC receipt」)を作成し、Kaneoのワークスペース招待機能を悪用して、事前に用意された受信者リストに対して各アカウントから約100通の招待メールを送信した。招待メールはAcevski氏がDKIM認証済みのResendドメイン経由で送信されたため、すべて正規の送信者署名が付与されていた。受信者が「承認」をクリックすると、トラッキングサフィックス付きのcraftum.ioフィッシングリンクにリダイレクトされた。攻撃は日本時間の正午ごろに終了し、Resendのレート検出機能が攻撃開始から約90分後に自動的に停止させたが、Acevski氏がクォータ枯渇のアラートを受け取った時にはすでに事後であった。
Acevski氏はブログ記事で、この攻撃は脆弱性を悪用したものではなく、「攻撃者はツールを本来の使い方で利用したに過ぎない」と指摘している。問題の根源は、セルフホスト版とクラウドホスト版の脅威モデルが根本的に異なる点にある。セルフホスト版では運営者とユーザーが同一であり、悪用する動機がない。一方、クラウド版では運営者が全ユーザーによるプラットフォーム経由のメール送信についてドメインの評判責任を負うことになる。クリーンアップにはわずか約1時間しかかからなかった。1つのPostgresトランザクションで、942個のアカウントを停止、947個のワークスペースを削除、14,533件の招待をカスケード削除した。その後の対策強化(登録時のCAPTCHA、使い捨てメールのブロック、招待APIのレート制限、ワークスペース名のフィルタリング、ゲストアカウントからの招待禁止)には約1日を要し、これらの変更はセルフホストユーザーには提供されない。この記事はr/selfhostedで広く議論を呼び、開発者たちはクラウドホスティングとセルフホスティングにおける信頼の境界線の本質的な違いについて考察を深めるきっかけとなった。