
Liner は、世界中で1000万人以上のユーザーを持つ信頼性の高いAI検索エンジンです。Liner は LLM ベースの検索エンジンを構築しており、そのチャットコンポーネントに安全でないダイレクトオブジェクト参照 (IDOR) の脆弱性が存在します。攻撃者はこの IDOR を悪用して、他のユーザーの会話を改ざんすることができます。
すべてのユーザーの会話履歴はサーバーに保存されています。しかし、Liner のサーバーは個々の会話履歴の所有権や共有状態を区別しません。その結果、攻撃者は会話メッセージ ID をブルートフォースすることで、他のユーザーの会話履歴にアクセスできます。また、space_id と thread_id がありますが、会話履歴をリクエストする際、サーバーは message_id のみをチェックして会話を取得することがわかりました。
メッセージ ID の形式は予測可能であり、ブルートフォース攻撃を受けやすいものです。これは9文字の文字列で構成されています。この文字列は数字(例:123456789)で構成されており、この ID は昇順になっています。攻撃者が攻撃者の Authorization と GET メソッドを使ってこの API をリクエストすると、その後 POC で会話履歴を確認できます。

この脆弱性は、https://getliner.com のすべてのユーザーに影響を与える可能性があります。ユーザーのチャット履歴は、ブルートフォースされた message_id によって改ざんされます。