업데이트로 돌아가기
UpdatedSep 2, 2026

CVE-2026-8347 — Updated!

CVE-2026-8347은 Concrete CMS 버전 9.5.0 및 이전 버전에서 발견된 안전하지 않은 직접 객체 참조(IDOR)와 잘못된 권한 수준이 결합된 취약점입니다. 이 결함은 Express 연관 항목 재정렬(Reorder) 대화 상자에 존재하며, Express 항목에 대한 보기 권한만 있는 사용자가 다른 엔티티의 연관 항목 순서를 수정할 수 있게 합니다.

공유

CVE-2026-8347 – Concrete CMS의 안전하지 않은 직접 객체 참조(IDOR)

개요

CVE-2026-8347Concrete CMS 버전 9.5.0 및 이전 버전에 영향을 미치는 안전하지 않은 직접 객체 참조(IDOR) 취약점입니다. 이 문제는 불충분한 권한 검사로 인해 Express Association Reorder 기능에 존재합니다.

사용자가 연관 항목을 재정렬할 때, 애플리케이션은 사용자가 Express 항목을 볼(view) 권한이 있는지 확인하지만 수정(modify) 권한이 있는지는 확인하지 않습니다. 그 결과, 제한된 권한을 가진 인증된 사용자가 다른 Express 엔터티의 식별자를 조작하여 편집 권한이 없음에도 해당 연관 항목을 재정렬할 수 있습니다.

SQL 삽입이나 원격 코드 실행 취약점과 달리, 이 결함은 악성 명령이나 코드를 주입하는 것이 아닙니다. 대신 사용자가 제어하는 객체 식별자(예: 엔터티 ID)를 변경하여 다른 사용자의 리소스를 참조함으로써 손상된 접근 제어를 악용합니다. 서버가 요청된 객체에 대한 권한을 제대로 검증하지 않기 때문에, 공격자가 수정해서는 안 되는 데이터에 대해 작업을 수행합니다.

개념적 취약 로직:

// 사용자가 연관 항목 재정렬을 요청 $entityId = $_POST['entityId'];

$entity = $entityRepository->find($entityId);

// 사용자가 엔터티에 접근할 수 있는지만 확인 if ($permissionChecker->canView($entity)) {

// 편집 권한을 확인하지 않고 연관 항목 재정렬
$associationService->reorder($entity, $_POST['order']);

return response()->json([
    'status' => 'success'
]);

}

취약한 이유

애플리케이션은 상태 변경 작업을 수행하기 전에 보기 권한만 검증합니다.

공격자는 요청의 entityId 매개변수를 수정하여 다른 사용자의 엔터티를 참조할 수 있습니다. 수정 자체에 대한 권한 검사가 수행되지 않으므로, 재정렬 작업은 권한이 없는 리소스에서 성공적으로 수행됩니다.

영향

성공적인 공격을 통해 인증된 사용자는 다음을 수행할 수 있습니다:

  • 다른 Express 엔터티에 속한 연관 항목의 순서를 수정합니다.
  • 애플리케이션 데이터에 대한 무단 변경을 수행합니다.
  • 저장된 정보의 무결성을 손상시킵니다.

이 취약점은 주로 데이터 무결성에 영향을 미치며, 본질적으로 SQL 삽입, 원격 코드 실행 또는 인증 우회를 허용하지 않습니다.

수정된 코드(개념적)

애플리케이션은 재정렬 요청을 처리하기 전에 인증된 사용자가 특정 엔터티를 수정할 권한이 있는지 확인해야 합니다.

$entityId = $_POST['entityId'];

$entity = $entityRepository->find($entityId);

// 수정 권한 확인 if (!$permissionChecker->canEdit($entity)) {

return response()->json([
    'error' => 'Access denied.'
], 403);

}

// 사용자가 권한을 보유함 $associationService->reorder($entity, $_POST['order']);

return response()->json([ 'status' => 'success' ]);

영향을 받는 소프트웨어

  • 제품: Concrete CMS
  • 영향을 받는 버전: 9.5.0 및 이전 버전
  • 수정된 버전: 9.5.1

완화 조치

Concrete CMS 9.5.1 이상으로 업그레이드하세요. 개발자는 모든 상태 변경 요청에 대해 적절한 서버 측 권한 검사를 적용하고, 사용자가 명시적으로 편집 권한이 있는 리소스만 수정할 수 있도록 보장해야 합니다.

카테고리