Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-8239 — Concrete CMS의 get_rating 엔드포인트에 대한 인가 누락으로 대화 평점이 노출되는 IDOR 취약점에 대한 보안 분석 글로, 근본 원인, 공격 시나리오 및 수정 방법을 포함합니다. | Kitploit
도구/GitHubGitHub/aj2108/cve-2026-8239
Authentication & AuthorizationVulnerability AnalysisWeb Application ExploitationInformation GatheringWeb SecurityLearning & Education
GitHubaj2108/cve-2026-8239

CVE-2026-8239

Concrete CMS의 get_rating 엔드포인트에 대한 인가 누락으로 대화 평점이 노출되는 IDOR 취약점에 대한 보안 분석 글로, 근본 원인, 공격 시나리오 및 수정 방법을 포함합니다.

저장소 보기
511개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-8239

CVE-2026-8239는 Concrete CMS 9.5.0 및 이전 버전에 영향을 미치는 안전하지 않은 직접 객체 참조(IDOR) 취약점입니다. 이 취약점은 /ccm/frontend/conversations/get_rating 엔드포인트에 존재하며, 공격자가 임의의 메시지 ID를 제공하여 대화 메시지의 존재 여부를 확인하고 평점 점수를 검색할 수 있게 합니다. 해당 엔드포인트는 요청된 정보를 반환하기 전에 적절한 권한 검사를 수행하지 않습니다.

영향받는 소프트웨어

제품: Concrete CMS 영향받는 버전: 9.5.0 및 이전 버전 수정 버전: 9.5.1 엔드포인트: /ccm/frontend/conversations/get_rating

취약점 유형

카테고리: 안전하지 않은 직접 객체 참조(IDOR) CWE-862: 누락된 권한 부여

근본 원인

엔드포인트는 클라이언트로부터 메시지 ID를 전달받아, 요청한 사용자가 해당 메시지에 접근할 권한이 있는지 확인하지 않고 해당 메시지에 대한 정보를 반환합니다.

애플리케이션은 소유권이나 권한을 검증하는 대신 사용자가 제공한 식별자를 신뢰합니다.

개념적으로:

User supplies messageId ↓ Server locates message ↓ No authorization check ↓ Returns message rating

권한 검사가 누락되어 있기 때문에 공격자는 메시지 ID를 열거하여 접근할 수 없어야 하는 대화에 대한 정보를 얻을 수 있습니다.

공격 시나리오

애플리케이션이 대화 메시지를 숫자 ID로 저장한다고 가정합니다.

정상적인 요청은 다음과 같이 표현될 수 있습니다:

GET /ccm/frontend/conversations/get_rating?messageId=125

공격자는 식별자를 간단히 수정할 수 있습니다:

GET /ccm/frontend/conversations/get_rating?messageId=126

애플리케이션이 403 Forbidden 또는 404 Not Found를 반환하는 대신 평점 점수로 응답하면, 공격자는 해당 메시지가 존재함을 확인하고 평점 정보를 검색할 수 있습니다.

객체 식별자만 변경될 뿐 악성 페이로드나 주입된 명령이 필요하지 않기 때문에 이는 전형적인 IDOR입니다.

영향

공격자는 다음을 수행할 수 있습니다:

  • 유효한 대화 메시지 ID를 열거합니다.
  • 특정 메시지가 존재하는지 확인합니다.
  • 접근 권한이 없는 메시지의 평점 점수를 검색합니다.
  • 비공개 대화에 대한 제한된 정보를 얻습니다.

이 취약점은 주로 기밀성에 영향을 미칩니다. 권한이 없는 사용자가 보호되어야 할 정보에 접근할 수 있기 때문입니다.

심각도

지표점수
CVSS v3.1 (NVD)5.3 – 중간
CVSS v4.0 (Concrete CMS CNA)6.3 – 중간

개념적 취약 코드

공급업체는 실제 취약한 소스 코드를 공개하지 않았습니다. 다음 예제는 취약점 패턴만을 설명하기 위한 것입니다.

$messageId = $_GET['messageId'];

$message = $conversationRepository->findMessage($messageId);

// No authorization check return response()->json([ 'rating' => $message->getRating() ]);

취약한 이유

애플리케이션은 사용자가 제공한 ID만을 기반으로 메시지를 검색하고 즉시 평점을 반환합니다. 현재 사용자가 해당 메시지에 접근할 수 있는 권한이 있는지는 전혀 확인하지 않습니다.

수정된 코드 (개념적)

$messageId = $_GET['messageId'];

$message = $conversationRepository->findMessage($messageId);

if (!$authorizationService->canViewMessage($currentUser, $message)) { return response()->json([ 'error' => 'Access denied.' ], 403); }

return response()->json([ 'rating' => $message->getRating() ]);

이 수정이 효과적인 이유

수정된 구현은 평점을 반환하기 전에 인증된 사용자가 요청한 메시지를 볼 수 있는 권한이 있는지 검증합니다. 공격자가 messageId를 변경하더라도 서버는 권한 검사를 강제하고 권한 없는 요청을 HTTP 403 Forbidden 응답으로 거부합니다. 이는 사용자가 조회 권한이 있는 리소스에만 접근할 수 있도록 보장함으로써 IDOR을 방지합니다.

도구 다운로드