🇰🇷 한글 설명
LibreChat은 ChatGPT 클론으로 추가 기능을 제공하는 채팅 플랫폼입니다. 버전 0.8.1-rc2에는 Actions 기능의 기본 구성에서 제한이 отсутств하여 서버측 요청 위조(SSRF) 취약성이 존재합니다.
💡 쉬운 설명
LibreChat의 Actions 기능이 제한 없이 외부 서비스에 접근할 수 있어 내부 구성 요소에 대한 접근이 가능합니다. 이로 인해 공격자가 내부 시스템을 공격할 수 있습니다. 버전 0.8.1-rc2 이전의 버전에서 발생하는 취약점이며, 최신 버전으로 업데이트하면 해결됩니다.
🇺🇸 원문 (English)
LibreChat is a ChatGPT clone with additional features. Version 0.8.1-rc2 is prone to a server-side request forgery (SSRF)
vulnerability due to missing restrictions of the Actions feature in the default configuration. LibreChat enables users to configure agents with predefined instructions and actions that can interact with remote services via OpenAPI specifications, supporting various HTTP methods, parameters, and authentication methods including custom headers. By default, there are no restrictions on accessible services, which means agents can also access internal components like the RAG API included in the default Docker Compose setup. This issue is fixed in version 0.8.1-rc2.
📍 영향받는 시스템
LibreChat 버전 0.8.1-rc2 이전
⚔️ 공격 벡터
공격자는 LibreChat의 Actions 기능을 악용하여 내부 시스템에 접근할 수 있습니다.
🛡️ 대응 방법
최신 버전의 LibreChat으로 업데이트하거나, Actions 기능의 제한을 설정하여 내부 시스템에 대한 접근을 차단합니다.
🔧 검증 코드
로컬 시스템에서 LibreChat이 실행 중인지 확인하고, Actions 기능에 대한 제한이 설정되어 있는지 확인합니다. Python을 사용하여 localhost의 8080 포트에 요청을 보내고, 응답 코드를 확인하여 취약성 여부를 판단합니다.
python -c "import requests; response = requests.get('http://localhost:8080/actions'); if response.status_code == 200: print('{"result": "취약", "reason": "Actions 기능에 대한 제한이 없습니다."}') else: print('{"result": "양호", "reason": "Actions 기능에 대한 제한이 설정되어 있습니다."}')"