
Liner는 전 세계 1,000만 명 이상의 사용자를 보유한 신뢰할 수 있는 AI 검색 엔진입니다. Liner는 LLM 기반 검색 엔진을 구축하며, 해당 채팅 구성 요소에서 안전하지 않은 직접 객체 참조(IDOR) 취약점에 노출되어 있습니다. 공격자는 이 IDOR을 악용하여 다른 사용자의 대화를 변조할 수 있습니다.
모든 사용자의 대화 기록은 서버에 저장됩니다. 그러나 Liner의 서버는 개별 대화 기록의 소유권이나 공유 상태를 구분하지 않습니다. 결과적으로 공격자는 대화 메시지 ID를 무차별 대입(brute-force)하여 다른 사용자의 대화 기록에 접근할 수 있습니다. 또한 space_id와 thread_id가 있으며, 대화 기록을 요청할 때 서버가 message_id만 확인하여 대화를 검색한다는 점을 발견했습니다.
메시지 ID 형식은 예측 가능하며 무차별 대입 공격에 취약합니다. 이 ID는 9자리 문자열로 구성됩니다. 이 문자열은 숫자(예: 123456789)로 구성되며, ID는 오름차순입니다. 공격자가 공격자의 Authorization 헤더와 GET 메서드로 이 API를 요청하면 PoC에서 대화 기록을 확인할 수 있습니다.

이 취약점은 https://getliner.com의 모든 사용자에게 영향을 미칠 수 있습니다. 사용자의 채팅 기록은 무차별 대입된 message_id로 변조될 수 있습니다.