CVE-2026-46395
HAX CMS, 손상된 HMAC 구현을 통한 개인 키 노출에 취약
- 게시됨
- 2026. 6. 5.
- 업데이트됨
- 2026. 6. 5.
- CNA 할당 중
- GitHub_M
- 증거 관찰됨
- 2026. 8. 8.
기본 CVSS
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X낮음 · 다음 30일
- 백분위수
- 22.3%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
# HAX CMS 취약점 요약 HAX CMS는 PHP 또는 Node.js 백엔드를 사용하여 마이크로사이트 유니버스를 관리하는 데 도움을 줍니다. 버전 26.0.0 이전에는 HAXcms Node.js 백엔드의 `hmacBase64()` 함수에 두 가지 치명적인 암호화 구현 오류가 있어, 이 두 오류가 결합되어 인증되지 않은 공격자가 시스템의 개인 서명 키를 추출하고 임의의 관리자급 JSON 웹 토큰(JWT)을 위조하여 단 한 번의 HTTP 요청으로 전체 관리자 액세스 권한을 얻을 수 있었습니다. 첫째, 이 함수는 key 매개변수 대신 리터럴 문자열 `"0"`을 HMAC 서명 키로 전달하므로 모든 HAXcms 인스턴스가 동일한 입력에 대해 동일한 HMAC을 계산하게 됩니다. 그런 다음 HMAC을 계산한 후, 이 함수는 실제 key 매개변수인 `this.privateKey + this.salt`(시스템의 마스터 서명 비밀)를 출력에 직접 연결합니다. 결합된 버퍼는 base64로 인코딩되어 토큰으로 반환됩니다. 생성되는 모든 base64url 토큰은 동일한 구조를 가집니다: `"0"`을 키로 사용한 32바이트 HMAC과 N바이트의 `privateKey+salt`. 공격자는 임의의 토큰을 base64 디코딩하고 처음 32바이트를 버린 다음 개인 키를 직접 읽을 수 있습니다. `/system/api/connectionSettings` 엔드포인트는 인증이 필요 없으며 이 함수로 생성된 여러 토큰을 반환합니다. 이 엔드포인트에 대한 단일 GET 요청만으로 개인 키가 노출됩니다. PHP 백엔드는 실제 키를 사용하여 이 함수를 올바르게 구현하며 해시만 반환합니다. PHP 버전은 44자 토큰을 생성하는 반면, 손상된 Node.js 버전은 139자 이상의 토큰을 생성합니다. 버전 26.0.0에서 이 문제가 수정되었습니다.
소스
1CVE-2026-46395에 대한 PoC 및 분석: HAXcms Node.js의 취약한 HMAC을 통한 인증되지 않은 개인키 노출 (CWE-321/CWE-200). 승인된 보안 연구 전용.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.