🇰🇷 한글 설명
Parse Server의 Instagram 인증 어댑터에서 apiURL 파라미터를 통해 임의의 API URL을 지정할 수 있는 취약점이 발견되었습니다. 이를 통해 SSRF 공격이 가능하며, 악의적인 엔드포인트가 가짜 응답을 반환할 경우 인증 우회로 이어질 수 있습니다. 해당 문제는 Instagram Graph API URL을 하드코딩하여 클라이언트가 제공하는 apiURL 값을 무시하도록 수정되었습니다.
💡 쉬운 설명
해커가 인증 과정에서 가짜 주소를 입력하여 서버가 잘못된 곳으로 접속하게 만들 수 있는 보안 약점입니다. 이를 통해 로그인을 건너뛰거나 서버 내부 정보를 훔쳐볼 위험이 있습니다.
🇺🇸 원문 (English)
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 8.6.2 and 9.1.1-alpha.1, the Instagram authentication adapter allows clients to specify a custom API URL via the `apiURL` parameter in `authData`. This enables SSRF attacks and possibly authentication bypass if malicious endpoints return fake responses to validate unauthorized users. This is fixed in versions 8.6.2 and 9.1.1-alpha.1 by hardcoding the Instagram Graph API URL `https://graph.instagram.com` and ignoring client-provided `apiURL` values. No known workarounds are available.
📍 영향받는 시스템
Parse Server 8.6.2 미만 버전 및 9.1.1-alpha.1 미만 버전
⚔️ 공격 벡터
authData 내의 apiURL 파라미터에 조작된 URL을 삽입하여 SSRF 및 인증 우회 시도
🛡️ 대응 방법
Parse Server를 8.6.2 또는 9.1.1-alpha.1 이상의 최신 버전으로 업데이트
🔧 검증 코드
출력된 버전이 취약한 범위(8.6.2 미만 또는 9.1.1-alpha.1 미만)에 해당하면 보안 업데이트가 필요합니다.
npm list parse-server | grep -E 'parse-server@([0-7]\.|8\.[0-5]\.|9\.[0-1]\.0-alpha)'