🇰🇷 한글 설명
Craft CMS 5.0.0부터 5.10.12 버전에서 nested-elements 재정렬 엔드포인트의 권한 제어 결함이 발견되었습니다. 읽기 전용 권한만 가진 사용자가 다른 작성자의 항목을 열람할 때 발생하는 권한 플래그 오류를 악용하여, 수정 권한이 없는 Matrix 또는 Address 필드의 정렬 순서를 임의로 변경할 수 있습니다.
💡 쉬운 설명
수정 권한이 없는 사용자가 다른 사람이 작성한 글의 내용을 바꿀 수는 없지만, 글 안에 들어있는 항목들의 순서는 마음대로 바꿀 수 있는 보안 취약점입니다. 이는 시스템이 사용자의 실제 수정 권한을 제대로 확인하지 않고 순서 변경 요청을 허용하기 때문에 발생합니다.
🇺🇸 원문 (English)
Craft CMS 5.0.0 through 5.10.12 (fixed in 5.10.13) contains a broken access control flaw in the nested-elements reorder endpoint. When an authenticated control panel user with viewEntries and viewPeerEntries (but without savePeerEntries) opens another author's entry in read-only mode, Craft unconditionally grants that session a `manageNestedElements::<ownerId>::field:<handle>` authorization flag for the entry's Matrix/Address fields. Unlike the corresponding delete endpoint, actions/nested-elements/reorder trusts this session flag alone and never rechecks the caller's save permission for the owner element. As a result, a view-only user can POST to actions/nested-elements/reorder using the ownerElementType, ownerId, ownerSiteId, attribute, elementIds, and offset parameters present in the read-only page source and rewrite the sort order of Matrix blocks or Addresses belonging to content they are explicitly denied save access to.
📍 영향받는 시스템
Craft CMS 5.0.0 ~ 5.10.12
⚔️ 공격 벡터
인증된 읽기 전용 사용자가 재정렬 엔드포인트(actions/nested-elements/reorder)에 조작된 POST 요청을 전송
🛡️ 대응 방법
Craft CMS를 최신 보안 패치가 적용된 버전인 5.10.13 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 정보가 5.10.13 미만(5.10.12 이하)이면 취약한 상태입니다.
composer show craft/cms | grep 'versions'