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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-56423-MISP-deleteSelection-BrokenAccessControl — PoC for CVE-2026-56423: MISP deleteSelection의 손상된 접근 제어 (CWE-862, 기여자가 다른 조직의 이벤트 보고서/공유 그룹을 강제 삭제, CVSS 8.8) | Kitploit
도구/GitHubGitHub/biitts/cve-2026-56423-misp-deleteselection-brokenaccesscontrol
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingThreat IntelligenceMisconfiguration
GitHubbiitts/cve-2026-56423-misp-deleteselection-brokenaccesscontrol

CVE-2026-56423-MISP-deleteSelection-BrokenAccessControl

PoC for CVE-2026-56423: MISP deleteSelection의 손상된 접근 제어 (CWE-862, 기여자가 다른 조직의 이벤트 보고서/공유 그룹을 강제 삭제, CVSS 8.8)

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
1개월 전아직 검토되지 않음

CVE-2026-56423 — MISP deleteSelection 끊어진 접근 제어

MISP의 이벤트 보고서 및 공유 그룹에 대한 대량 삭제 흐름에서 권한 부여 누락 취약점에 대한 개념 증명입니다. deleteSelection 핸들러는 각 선택된 항목을 콜백으로 승인하는데, 이 콜백은 항목을 무시하고 객체별 소유권 확인 대신 호출자의 전역 역할 권한(perm_add / perm_sharing_group)을 반환합니다. 따라서 낮은 권한의 기여자(기본 "User" 역할)가 모든 조직에 속한 보고서 ID/UUID를 제출하고 인스턴스 차원에서 하드 삭제할 수 있습니다. 반면 올바르게 보호된 객체별 delete 작업은 동일한 요청을 거부합니다.

CVECVE-2026-56423
제품MISP (악성 정보 공유 플랫폼) 코어
영향MISP CE/EE ≤ 2.5.41
수정2.5.42
분류CWE-862 — 권한 부여 누락 (깨진 객체 수준 접근 제어)
CVSS 3.18.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
인증인증됨, 낮은 권한 (perm_add가 있는 모든 역할, 예: "User")
공개일2026-06-22
상태확인됨 — 기여자가 2.5.40에서 다른 조직의 보고서를 삭제함; 2.5.42에서 거부됨

근본 원인

app/Controller/EventReportsController.php (태그 v2.5.40):

root@kitploit:~
public function deleteSelection($id = null)
{
    return $this->CRUD->deleteSelection($id, [
        'modelName' => 'EventReport',
        ...
        'checkModifyCallback' => function($itemId) {
            return $this->userRole['perm_add'];   // ignores $itemId → global role bool
        },
    ]);
}

CRUDComponent::deleteSelection은 이 checkModifyCallback을 선택된 모든 id에 대해 호출하고 true를 반환하면 객체를 삭제합니다:

root@kitploit:~
$canModify = call_user_func($options['checkModifyCallback'], $itemId, $item);
if (!$canModify) { $fails[] = $cid; continue; }
if ($Model->delete($itemId)) { $successes[] = $cid; }

콜백이 $this->userRole['perm_add'] — 즉 기본 "User" 역할에 대해 true인 전역 불리언을 반환하므로 대상 보고서의 소유권은 절대 확인되지 않습니다. 단일 객체 delete($id) 작업과 대조해 보면, 이는 올바르게 EventReport::fetchIfAuthorized($this->Auth->user(), $id, 'delete')를 호출하고 외부 보고서를 거부합니다.

SharingGroupsController::deleteSelection도 perm_sharing_group을 사용하는 동일한 결함이 있습니다.

2.5.42의 수정(커밋 ada02fa, f99b3f1)은 콜백을 항목별 EventReport::fetchIfAuthorized($user, $itemId, 'delete')로 대체합니다.

전체 분석은 ANALYSIS.md를 참조하십시오.

사전 조건 (정직하게 문서화됨)

  1. 공격자는 역할에 perm_add가 있는 모든 계정을 보유합니다. 이는 다중 조직 인스턴스에서 일반 기여자에게 부여되는 내장 User 역할입니다.
  2. MISP.enable_themes = true. deleteSelection 작업은 ACL에서 AND(theming_enabled, perm_add)에 의해 제어되며, 여기서 theming_enabled는 MISP.enable_themes 설정에 매핑됩니다. 이 설정은 기본적으로 꺼져 있지만 많은 인스턴스에서 활성화되는 일반 UI 기능 플래그입니다(v2 인덱스/목록 UI를 지원함). 비활성화되면 결함이 있는 콜백이 실행되기 전에 HTTP 403을 반환합니다.

익스플로잇

root@kitploit:~
python3 exploit.py https://127.0.0.1:443 \
    --attacker-key <contributor_authkey> \
    --admin-key   <admin_authkey_used_only_to_confirm_the_target> \
    --report-id   <id_of_a_report_owned_by_another_org>
root@kitploit:~
[1] contributor legit delete/2   -> HTTP 404  (DENIED (expected))
[2] contributor deleteSelection [2] -> HTTP 200  {"saved":true,"success":true,"name":"EventReport deleted."...}
[+] CONFIRMED: contributor hard-deleted another org's Event Report via deleteSelection

재현

root@kitploit:~
cd lab
./setup.sh          # MISP core v2.5.40 + attacker org + contributor + victim report
source /tmp/misp_poc.env
python3 ../exploit.py https://127.0.0.1:443 \
    --attacker-key "$CONTRIB_KEY" --admin-key "$ADMIN_KEY" --report-id "$VICTIM_REPORT_ID"

# patched build denies the same request:
CORE_RUNNING_TAG=v2.5.42 ./setup.sh
./teardown.sh

취약/패치 경계 (경험적)

요청 (낮은 권한 기여자, 외부 보고서)v2.5.40v2.5.42
올바르게 보호된 delete/{id}404 거부됨404 거부됨
동일한 보고서의 deleteSelection200 — 하드 삭제됨403 — "삭제할 수 없음"; 보고서 유지

동일한 요청이 수정 전후로 성공에서 거부로 바뀌며, 올바르게 보호된 객체별 삭제는 양쪽에서 거부됩니다. 이는 버그가 잘못 구성된 계정이 아니라 deleteSelection에서 객체별 인증 누락임을 증명합니다. 전체 기록은 EVIDENCE.txt에 있습니다.

영향

공유 MISP 인스턴스의 모든 낮은 권한 사용자는 위협 인텔리전스 이벤트에 첨부된 분석가 설명인 이벤트 보고서와 다른 조직에 속한 공유 그룹을 인스턴스 전체에서 돌이킬 수 없이 하드 삭제할 수 있습니다. 이는 CERT, ISAC 및 SOC가 의존하는 위협 인텔리전스 플랫폼의 테넌트 간 무결성/가용성 손상입니다.

수정

  • MISP를 2.5.42 이상으로 업그레이드하십시오.
  • 수정은 선택된 각 항목에 대해 EventReport::fetchIfAuthorized($user, $itemId, 'delete')를 적용합니다. 동일한 패턴이 공유 그룹에도 적용됩니다.

탐지

MISP 로그에서 EventReports/deleteSelection (및 SharingGroups/deleteSelection) 요청을 감사하되, 작업 사용자의 조직이 삭제된 객체의 소유 조직과 다른 경우를 확인하십시오.

크레딧

연구 및 PoC: Caio Fabrício (@BiiTts).

라이선스

MIT — LICENSE 참조.

도구 다운로드