🇰🇷 한글 설명
Payload CMS의 특정 버전에서 다형성 조인(polymorphic join)을 사용하여 컬렉션을 조회할 때 민감한 필드의 값을 추론할 수 있는 취약점이 발견되었습니다. 공격자는 필터 기능을 악용하여 비밀번호 재설정 토큰과 같이 숨겨지거나 읽기 제한이 걸린 값을 알아낼 수 있습니다.
💡 쉬운 설명
데이터베이스의 특수한 연결 기능을 이용해 원래는 볼 수 없는 비밀번호 관련 정보를 몰래 알아내는 취약점입니다. 마치 문틈 사이로 내부의 비밀번호를 유추해내는 것과 같습니다.
🇺🇸 원문 (English)
Payload is a free and open source headless content management system. In versions from 3.0.0 before 3.90.0 and canary versions before 4.0.0-canary.34, a user who can query a collection with a polymorphic join to sensitive fields can infer hidden or read-restricted values, including password-reset tokens, through polymorphic join filters. This issue is fixed in versions 3.90.0 and 4.0.0-canary.34.
📍 영향받는 시스템
Payload CMS 3.0.0 미만 3.90.0 미만 버전 및 4.0.0-canary.34 미만 버전
⚔️ 공격 벡터
다형성 조인 필터를 이용한 데이터 쿼리 및 값 추론 공격
🛡️ 대응 방법
Payload CMS를 3.90.0 또는 4.0.0-canary.34 이상의 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에 취약한 버전 범위가 포함되어 있다면 업데이트가 필요합니다.
npm list payload --depth=0 | grep -E 'payload@(3\.[0-8][0-9]|4\.0\.0-canary\.[0-3][0-3])'