29.0.2 이전에 OpenStack Keystone에서 문제가 발견되었습니다. Enforce_call의 Keystone RBAC 정책 시행자는 정책 시행 사전에 원시 JSON 요청 본문을 무조건 병합하여policy_dict.update(json_input.copy())를 통해 이전에 데이터베이스 조회에서 설정한 신뢰할 수 있는 대상 데이터를 덮어씁니다. Flask.request.get_json은 force=True로 호출되므로 Content-Type이나 HTTP 방식에 관계없이 작동합니다. 인증된 모든 사용자는 임의의 정책 대상 속성을 삽입할 수 있습니다.
29.0.2 이전에 OpenStack Keystone에서 문제가 발견되었습니다. Enforce_call의 Keystone RBAC 정책 시행자는 정책 시행 사전에 원시 JSON 요청 본문을 무조건 병합하여policy_dict.update(json_input.copy())를 통해 이전에 데이터베이스 조회에서 설정한 신뢰할 수 있는 대상 데이터를 덮어씁니다. Flask.request.get_json은 force=True로 호출되므로 Content-Type이나 HTTP 방식에 관계없이 작동합니다. 인증된 사용자는 임의의 정책 대상 속성(예: user_id, project_id)을 요청 본문에 삽입하여 RBAC 검사를 우회하고 다른 사용자 또는 프로젝트에 속한 리소스에 대해 무단 작업을 수행할 수 있습니다. 이는 커밋 5ea59f52(Rocky/14.0.0)에 도입되었습니다.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 60.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 60.00 |
VPI 공식 vpi-v1 기준
| 소스 | CVSS 버전 | 기본 점수 | 심각도 | 벡터 문자열 | 평가일 |
|---|---|---|---|---|---|
| OSV3rd | 3.1 | 8.8 | HIGH | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | 2026. 07. 02. |
| NVDNIST | 3.1 | 6.0 |
| CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:L |
| 2026. 05. 29. |