🔍 CVE-2022-39225

4.3
CVSS Score
MEDIUM
2022-09-23
2026-06-17 04:57
✅ 완료

🇰🇷 한글 설명

Parse Server의 특정 버전에서 세션 객체 ID를 알고 있는 공격자가 다른 사용자의 세션 객체에 데이터를 쓸 수 있는 취약점이 발견되었습니다. 공격자는 자신의 사용자 필드에 타인의 세션을 할당하여 해당 세션의 커스텀 필드 정보를 읽을 수 있습니다. 이 문제는 4.10.15 및 5.2.6 이상의 버전에서 패치되었습니다.

💡 쉬운 설명

다른 사람의 로그인 정보(세션)를 가로채서 그 안에 담긴 개인적인 정보를 몰래 훔쳐볼 수 있는 보안 결함입니다. 공격자가 자신의 계정에 다른 사람의 세션 번호를 강제로 연결하여 정보를 읽어내는 방식입니다.

🇺🇸 원문 (English)

Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. In versions prior to 4.10.15, or 5.0.0 and above prior to 5.2.6, a user can write to the session object of another user if the session object ID is known. For example, an attacker can assign the session object to their own user by writing to the `user` field and then read any custom fields of that session object. Note that assigning a session to another user does not usually change the privileges of either of the two users, and a user cannot assign their own session to another user. This issue is patched in version 4.10.15 and above, and 5.2.6 and above. To mitigate this issue in unpatched versions add a `beforeSave` trigger to the `_Session` class and prevent writing if the requesting user is different from the user in the session object.

📍 영향받는 시스템

Parse Server 4.10.15 미만 버전 및 5.0.0 이상 5.2.6 미만 버전

⚔️ 공격 벡터

알려진 세션 객체 ID를 사용하여 타인의 세션 객체 내 user 필드를 자신의 계정으로 수정하는 방식

🛡️ 대응 방법

Parse Server를 4.10.15 또는 5.2.6 이상의 최신 버전으로 업데이트하거나, _Session 클래스에 beforeSave 트리거를 추가하여 권한 검증 로직을 구현해야 합니다.

🔧 검증 코드

명령어 결과에 취약한 버전 범위의 parse-server가 출력되면 해당 시스템은 보안 업데이트가 필요한 상태입니다.

Shell / Script
npm list parse-server | grep -E 'parse-server@([0-4]\.[0-9]{2}\.[0-9]{2}|5\.[0-2]\.[0-6])'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N

💻 영향받는 소프트웨어

Node.js