🔍 CVE-2026-30887

9.9
CVSS Score
CRITICAL
2026-03-10
2026-06-17 10:33
✅ 완료

🇰🇷 한글 설명

OneUptime의 Synthetic Monitors 기능에서 사용자 정의 JavaScript 코드를 실행할 때 보안이 취약한 Node.js vm 모듈을 사용하여 발생합니다. 공격자는 프로토타입 체인 탈출 기법을 통해 샌드박스를 우회하고 원격 코드 실행(RCE)을 수행하여 컨테이너 및 클러스터 전체를 장악할 수 있습니다.

💡 쉬운 설명

웹사이트 테스트를 위해 입력한 코드가 시스템의 보호막을 뚫고 서버를 직접 조종할 수 있는 보안 구멍이 발견되었습니다. 이를 통해 해커가 서버의 중요한 데이터와 관리 권한을 모두 훔쳐갈 수 있습니다.

🇺🇸 원문 (English)

OneUptime is a solution for monitoring and managing online services. Prior to 10.0.18, OneUptime allows project members to run custom Playwright/JavaScript code via Synthetic Monitors to test websites. However, the system executes this untrusted user code inside the insecure Node.js vm module. By leveraging a standard prototype-chain escape (this.constructor.constructor), an attacker can bypass the sandbox, gain access to the underlying Node.js process object, and execute arbitrary system commands (RCE) on the oneuptime-probe container. Furthermore, because the probe holds database/cluster credentials in its environment variables, this directly leads to a complete cluster compromise. This vulnerability is fixed in 10.0.18.

📍 영향받는 시스템

OneUptime 버전 10.0.18 미만

⚔️ 공격 벡터

Synthetic Monitors의 JavaScript 코드 입력란에 프로토타입 체인 탈출 페이로드를 삽입하여 RCE 수행

🛡️ 대응 방법

OneUptime를 최신 보안 패치가 적용된 버전 10.0.18 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 버전 번호가 10.0.18보다 낮으면 취약한 상태이며, 10.0.18 이상이면 안전합니다.

Shell / Script
curl -s http://<oneuptime-endpoint>/api/version | grep -E '10\.[0-9]+\.[0-9]+'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

💻 영향받는 소프트웨어

Node.js