
공개 보안 취약점 공개 — CVE-2026-78829 / 78830 / 78831 / 78832
MITRE CVE Program에서 CVE ID를 부여한 네 가지 취약점에 대한 공개 기술 공개 자료 및 개념 증명 재현 절차입니다 (CVE 요청 등록일 2026-06-20).
| CVE ID | 제품 | 취약점 | CWE | CVSS 3.1 | 인증 필요 여부 |
|---|---|---|---|---|---|
| CVE-2026-78829 | Dromara MaxKey 4.x | OAuth 흐름의 redirect_uri를 통한 반사형 XSS → 관리자 세션/JWT 탈취 | CWE-79 | 8.2 High | 아니오 (조작된 링크) |
| CVE-2026-78830 | mingSoft MCMS 6.1.1 | 인증되지 않은 /file/upload를 통한 저장형 XSS | CWE-79 | 6.1 Medium | 아니오 |
| CVE-2026-78831 | OpenAuth.Net ≤ 8.3.4 | /api/dynamic/Invoke를 통한 인증되지 않은 임의 사용자 비밀번호 변경 | CWE-306 | 9.1 Critical | 아니오 |
| CVE-2026-78832 | OpenAuth.Net ≤ 8.3.4 | /api/dynamic/GetList를 통한 인증되지 않은 민감 정보 노출 | CWE-200 | 8.6 High | 아니오 |
각 폴더에는 다음이 포함되어 있습니다:
README.md — 전체 권고문: 공식 CVE 설명, 근본 원인 분석, 단계별 재현 절차 (HTTP 요청/응답 쌍 및 curl 한 줄 명령), 영향, 완화 조치, 참고 자료, 타임라인.CVE-2026-XXXXX.json — CVE JSON 5 형식의 취약점 레코드로, 공식 cvelistV5 저장소에서 사용하는 구조와 일치하며, 신고자가 참고용으로 작성한 것입니다.CVE-2026-78831과 CVE-2026-78832는 동일한 근본 원인을 공유합니다 — Dynamic API(/api/dynamic/*)가 인증/인가를 전혀 수행하지 않습니다 — 그리고 이를 결합하여 완전한 인증 불필요 장악 체인을 구성할 수 있습니다:
GetList(CVE-2026-78832)가 SysUser를 덤프 → 모든 평문 자격 증명;Invoke(CVE-2026-78831)가 관리자 비밀번호를 변경 (또는 덤프된 비밀번호로 단순히 로그인);/api/Files/Upload 엔드포인트 (별도로 보고되었으며 아직 CVE ID가 부여되지 않음)는 WebShell/RCE 가능성이 있는 임의 파일 업로드를 허용합니다.동일한 연구 과정에서 OpenAuth.Net에서 두 가지 추가 인증 불필요 문제가 확인되었으나, 현재 부여에서는 CVE ID를 받지 못했습니다:
/api/dynamic/Delete를 통한 인증되지 않은 데이터 삭제 (CWE-285, 반포렌식 목적의 감사 로그 삭제 포함) — Medium;/api/Files/Upload를 통한 인증되지 않은 무제한 파일 업로드 (CWE-434, RCE 가능성) — Critical.이들은 로컬 연구 보고서에 문서화되어 있으며, 별도로 CVE Program에 제출될 수 있습니다.
모든 재현은 비공개 소유 테스트 인스턴스 또는 승인된 대상을 사용하여 통제된 실험실 환경에서 수행되었습니다. 캡처된 응답의 민감한 값 (비밀번호, 토큰, 시크릿)은 이 문서들에서 삭제 처리되었습니다. 이 공개 자료는 오직 방어 목적으로만 게시됩니다 — 영향을 받는 제품의 사용자가 위험을 평가하고 완화할 수 있도록 돕기 위함입니다.
| 날짜 | 사건 |
|---|---|
| 2026-06-20 | MITRE CVE Program에 CVE 요청 등록 |
| 2026-06-24 | OpenAuth.Net 실험실 검증 완료 |
| 2026-06 | MITRE에서 CVE-2026-78829 ~ CVE-2026-78832 부여 |
| 2026-10-30 | GitHub에 공개 기술 공개 |
CloudFutureSec (@CloudFutureSec)이 발견하고 보고했습니다.