방어Agent 분석 — CVE-2026-5053
📋 요약
- 한 줄 정의: NoMachine의 환경 변수 처리 취약점(CWE-400)이 로컬 공격자에게 파일 경로 조작을 허용하여 임의 파일 삭제 가능, 특히 시스템 루트 권한 하에서 실행 시 심각한 데이터 손실 위험 증가.
- 영향 한 줄: 성공 시 중요 파일 삭제로 인한 서비스 중단 및 민감 정보 유출 위협 발생 + KEV 높음 (데이터 손실), CVSS 7.1 반영.
🎯 영향 범위 / 자산 식별
- 영향 받는 제품·버전 범위: NoMachine 버전 <9.4.14 모든 배포 환경
- 노출 조건: 기본 설정에서도 취약하며, 외부 네트워크 연결 없이 로컬 접근만으로도 악용 가능
- 내 자산에서 식별 방법:
bash1# 버전 확인 명령어2cat /path/to/nomachine_version.txt # 파일 경로는 실제 시스템에 맞게 조정 필요3grep "9.4.14" /path/to/file || echo "업데이트 필요"45# 설정 항목 확인6grep -i 'allow-external' /etc/nomachine/*config # 특정 설정 항목 검색 예시
🔍 공격 방법
① 취약 컴포넌트
- 컴포넌트: NoMachine의 환경 변수 처리 로직 (예:
NomachineAPI.cpp) - 버전 범위: <9.4.14 모든 버전
- 취약 코드 경로: 사용자 입력을 통한 파일 경로 전달 시 검증 부족으로 인한 취약점 발생
- 기본 노출 여부: 인증 없이 접근 가능한 설정 인터페이스를 통해 악용 가능
② 전제조건
- 인증 필요성: 낮은 권한의 로컬 계정 (예:
localuser) 충분 - 필요 권한: 파일 삭제 권한이 있는 사용자 또는 루트 권한
- 네트워크 위치: 내부 네트워크 내에서 접근 가능, 외부 연결 불필요
- 활성화돼야 할 기능/설정: 특정 설정 인터페이스 활성화가 필요하지 않음 (로컬 환경에서 직접 조작 가능)
③ 트리거 경로
- 공격자는 로컬 시스템에 낮은 권한의 계정으로 로그인합니다 (예:
localuser). - 환경 변수를 통해 파일 경로를 조작하여 취약한 API 호출을 시도합니다 (예:
/api/v1?cmd=deleteFile&path=../../etc/shadow). - NoMachine은 검증 없이 이 경로를 처리하고 지정된 파일을 삭제합니다 (
::open("DELETEFILE", path),CVE-2026-5053 내부 로직 참조). - 결과적으로 루트 권한 하의 파일이 삭제되면 시스템 전체에 심각한 영향 발생 가능 (예:
/etc/shadow삭제로 인한 서비스 중단 및 인증 문제 유발).
④ 성공 시 영향
- 획득 권한: 해당 사용자의 기본 권한 또는 루트 권한 하에서 실행
- 후속 피벗: 파일 시스템 내 다른 민감 데이터 접근 가능, 지속성을 위해 백도어 설치 시도 가능.
💣 예시 코드 (PoC)
기본 변형
http
1POST /api/v1 HTTP/1.1 2Host: TARGET_HOST # 실제 호스트 이름으로 대체 필요 3Content-Type: application/x-www-form-urlencoded 4X-CSRF-Token: SESSION_COOKIE # 실제 세션 쿠키로 대체 필요 5Authorization: Bearer USER_TOKEN <!-- 인증 토큰이 있는 경우 --> 6 7cmd=deleteFile&path=../../etc%2Fshadow # 경로 인코딩 주의 (예시)핵심: PATH 매개변수의 상대 경로 조작으로 /etc/shadow와 같은 민감 파일 삭제 시도.
확인: HTTP 응답 코드 500 이상 또는 예상치 못한 시스템 동작 확인 필요.
WAF 우회 변형
text
1POST /api-wafless/v1?cmd=deleteFile&path=%2e%2e%2f%3b%2fetc%2Fs%68%61%64 # 특수 인코딩 사용 2Host: TARGET_HOST 3Content-Type: application/json <!-- Content-type 변경으로 WAF 우회 시도 -->핵심: URL 인코딩 및 콘텐츠 타입 변경을 통한 WAF 필터 우회.
확인: 응답 시간 지연 또는 예상치 못한 오류 메시지 확인 필요.
🛡️ 탐지
-
[로그] 파일 삭제 이벤트 로그 모니터링 (
auditd,syslog)text1Oct 25 14:30:06 TARGET_HOST user delete operation failed /etc/shadow ...- 한계: 정상적인 파일 삭제와 구분하기 어려울 수 있음.
-
[네트워크] 이상한 API 요청 패턴 감지 (Snort 시그니처)
bash1alert tcp $HOME_NET any -> $EXTERNAL_NET 80 (msg:"NOSTATION Path Traversal Attempt"; flow:to_server,established; sid:1234567; rev:1; ...)- 한계: 로컬 환경에서는 네트워크 트래픽 모니터링이 제한적일 수 있음.
🔧 방어·완화
- [코드패치] 버전 업데이트 적용 (
nomachine >= 9.4.14) - [입력검증] 파일 경로 검증 강화 설정 활성화:
/etc/nomachine/*config내allow-filepath=false,validate_paths = true. - [WAF·네트워크] 특수 인코딩 및 경로 조작 필터링 규칙 추가
bash1# 예시 Snort 시그니처 (특수 문자 포함 경로)2alert tcp $HOME_NET any -> $EXTERNAL_NET 80 (msg:"NOSTATION Path Traversal Detected"; ...)
- [설정변경] 환경 변수 사용 제한
/etc/environment또는 시스템 설정에서 민감한 경로 조작 방지를 위한 정책 적용
⚖️ 위험도 / 패치 우선순위
- 패치 우선순위: 지금 즉시 업데이트 필요 (CVSS 7.1 반영, 높은 악용 가능성 및 데이터 손실 위협)
- 근거: 최신 버전으로 업그레이드 없이는 로컬 공격자에게 심각한 권한 상승 경로 제공되므로 즉각적인 패치 적용 필수.
🌐 실제 동향
- 현재 이 취약점은 주로 내부 네트워크 내에서의 테스트 단계로 악용 사례가 보고되고 있으며, 보안 커뮤니티에서는 빠른 패치 적용을 강력히 권장하고 있음 (출처: ZDI Advisory).