Strapi는 오픈 소스 헤드리스 콘텐츠 관리 시스템입니다. 4.0.0부터 5.37.0 이전의 Strapi 버전은 관계형 필드를 통해 콘텐츠를 필터링할 때 쿼리 매개변수를 충분히 삭제하지 못했습니다. 인증되지 않은 공격자는 'updatedBy'(또는 기타 관리 관계) 필드가 있는 공개적으로 액세스 가능한 콘텐츠 유형에 대해 'where' 쿼리 매개변수를 사용하여 'resetPasswordToken' 필드를 포함하여 조인된 'admin_users' 테이블의 비공개 필드에 대해 부울-오라클 공격을 수행할 수 있습니다.
Strapi는 오픈 소스 헤드리스 콘텐츠 관리 시스템입니다. 4.0.0부터 5.37.0 이전의 Strapi 버전은 관계형 필드를 통해 콘텐츠를 필터링할 때 쿼리 매개변수를 충분히 삭제하지 못했습니다. 인증되지 않은 공격자는 'updatedBy'(또는 기타 관리 관계) 필드가 있는 공개적으로 액세스 가능한 콘텐츠 유형에 대해 'where' 쿼리 매개변수를 사용하여 'resetPasswordToken' 필드를 포함하여 조인된 'admin_users' 테이블의 비공개 필드에 대해 부울-오라클 공격을 수행할 수 있습니다. 이 오라클을 통해 관리자 재설정 토큰을 추출하면 인증 없이 전체 관리자 계정 탈취가 가능해졌습니다. where[updatedBy][resetPasswordToken][$startsWith]=a와 같은 필터가 공개 Content API 엔드포인트에 적용된 경우 기본 쿼리 생성은 admin_users 테이블에 대해 LEFT JOIN을 수행하고 조인된 열을 참조하는 WHERE 절을 내보냈습니다. 쿼리 매개변수 삭제 계층은 호출자가 읽기 권한이 없는 관계형 대상 스키마를 통과하는 연산자 체인을 차단하지 않았으므로 응답 수를 모든 관리 테이블 필드에서 1비트 오라클로 사용할 수 있습니다. 버전 5.37.0의 패치는 'strictParam', 'addQueryParams' 및 'addBodyParams'라는 세 가지 새로운 프리미티브를 통해 컨트롤러 및 서비스 경계에서 명시적인 쿼리 매개변수 삭제를 도입합니다. 제한된 관계형 대상을 통과하는 연산자 체인은 이제 데이터베이스에 도달하기 전에 거부됩니다.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 92.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 92.00 |
VPI 공식 vpi-v1 기준
| 소스 | CVSS 버전 | 기본 점수 | 심각도 | 벡터 문자열 | 평가일 |
|---|---|---|---|---|---|
| NVDNIST | 3.1 | 7.5 | HIGH | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N | 2026. 05. 16. |
| NVDNIST | 4.0 | 9.2 |
| CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| 2026. 05. 15. |