방어Agent 분석 — CVE-2026-34619
📋 요약
- 한 줄 정의: ColdFusion의
deleteVersion디렉토리 경로 처리에서 발생하는 Path Traversal 취약점은 공격자가 인증된 상태로 제한된 파일 시스템 외부에 접근할 수 있게 함 (CWE-284 Directory Traversal). - 영향 한 줄: 성공 시 임의의 파일 삭제 및 잠재적으로 민감한 정보 노출 또는 권한 상승 가능, KEV 증가 + CVSS 7.7 평가에서 실전 악용성 고려 시 높은 위험도 유지 예상됨.
🎯 영향 범위 / 자산 식별
- 영향 받는 제품·버전 범위: Adobe ColdFusion 버전 2023.18 이상, 2025.6 이하
- 안전한 최소 패치 버전: 최신 업데이트 버전 (예: ColdFusion 20xx.x.xxxx 이상) 적용 권장
- 노출 조건: 인터넷 노출 여부 무관하나, 웹 기반 애플리케이션에서
deleteVersion기능 활성화 시 위험 증가 - 내 자산 식별 방법:
- 확인 명령 예시:
<TARGET_HOST>/cfcontent?file=<PATH>&method=DELETE응답 코드 및 로그 검토 (403,2xx성공 여부 주의) - 파일 경로 검사:
/cfcontent.jsp내에서deleteVersion()함수 호출 확인, 특정 디렉토리 구조 분석 (예:/var/www/html/.CFIDE)bash1# 예시 명령어 - 실제 환경에 맞게 조정 필요2grep -r "subscribeToEndpoints" /path_to_coldfusion/* | grep deleteVersion # 함수 호출 확인3 cat /cfide/lib/javascript.js # 경로 처리 로직 검토 (추정: 특정 패턴 검색)
- 확인 명령 예시:
- 설정 항목:
web.xml또는 관련 설정 파일에서deleteVersion()기능 활성화 여부 점검 필요
🔍 공격 방법
① 취약 컴포넌트
ColdFusion의 /cfcontent?file=<PATH>&method=DELETE 엔드포인트 내 subscribeToEndpoints(...) 함수가 경로 처리 시 제한을 제대로 적용하지 않음 (버전 2023.18 이상, 2025.6 이하).
② 전제조건
- 인증 필요: 인증된 사용자 계정으로 접근 가능해야 함 (예:
USER_ID유효한 세션 유지) - 네트워크 위치: 웹 기반 애플리케이션에서 활성화되어야 하며, 외부 네트워크 연결이 허용됨.
트리거 경로
- 공격자는
/cfcontent?file=../../../etc/passwd&method=DELETE와 유사한 경로를 설정하여 요청을 보냄 subscribeToEndpoints()함수가 입력된 경로를 제한 없이 해석, 상위 디렉토리로 이동 가능- 결과적으로 외부 시스템의 파일 삭제 또는 민감 정보 노출 시도 성공 (예:
/etc/passwd)
④ 성공 시 영향
- 획득 권한: 관리자 권한으로 특정 시스템 파일 접근 및 수정 능력 획득 가능
- 후속 피벗: 네트워크 내 다른 서비스로의 이동 경로 확보, 지속적인 액세스 유지 시도 용이성 증가.
💣 예시 코드 (PoC)
기본 변형 1 - 파일 삭제 요청
http
1# 전제 조건: 인증된 사용자 세션 유지 필요 2POST /cfcontent?file=../../../etc/passwd HTTP/1.1 3Host: TARGET_HOST 4Content-Type: application/x-www-form-urlencoded 5Cookie: SESSION_COOKIE <-- 유효한 세션 쿠키 포함 필수핵심: .. 경로 인젝션으로 상위 디렉토리 접근 후 /etc/passwd 파일 삭제 시도.
확인: 응답 코드 2xx 또는 오류 메시지 분석 (예: "파일 권한 부족" 대신 성공 시 시스템 로그 검토 필요)
WAF 우회 변형 2 - URL 인코딩 활용
http
1POST /cfcontent%3Ffile%3D%2E%2E%2F%2F../..%2Fetc%2Fpasswd HTTP/1.1 2Host: TARGET_HOST 3Content-Type: application/x-www-form-urlencoded 4Cookie: SESSION_COOKIE <-- 유효한 세션 쿠키 포함 필수핵심: URL 인코딩을 통해 경로 분리 방지 시도, 일부 WAF 필터 우회 가능성 존재.
확인: 응답 코드 분석 및 시스템 로그 검토 (인코딩된 요청에 대한 반응 패턴)
🛡️ 탐지
[웹 로그]/cfcontent?file=../../../etc/passwd&method=DELETE와 유사한 경로 접근 시도 감지bash1# 예시 시그니처 (Snort 규칙 예제)2alert tcp $HOME_NET any -> $EXTERNAL_NET 80 (msg:"ColdFusion Path Traversal Attempt"; flow:toServer; sid:123456789; rev:1; tgtuc: "DELETE method with suspicious path traversal in URL parameter", dstport: 80, flags: "S+")[시스템 로그]파일 삭제 시도 및 관련 오류 메시지 감지 (예:Failed to delete /etc/passwd)bash1 # 예시 시그니처 (Suricata 규칙 예제)2 alert tcp any any -> $EXTERNAL_NET 80 (msg:"ColdFusion File Deletion Attempt"; flow:toServer; sid:987654321; rev:1; content:"DELETE|failed delete", depth:>=<20, fast_threshold:1)- 인코딩 우회 탐지 한계: URL 인코딩 변형은 일부 로그 패턴에서 감지 어려움 가능성 존재.
🔧 방어·완화
1. 코드패치 - 설정 변경 /web.xml 또는 관련 설정 파일 내 deleteVersion() 활성화 제한 강화
- 위치/방법:
<constraint> <url-pattern>/\cfcontent\?file=\*/ DELETE</url-pattern></constraint>패턴 수정하여 경로 제한 엄격화 (예:/var/www/.settings)
2. 입력검증 - 모든 사용자 입력에 대해 엄격한 경로 검증 적용
- 위치/방법:
subscribeToEndpoints()함수 내에서 정규표현식 사용으로 허용되지 않는 경로 패턴 차단 (예:^[^./]+(?:/.*)?$)
3. WAF 활용 - 최신 규칙 업데이트로 URL 인코딩 우회 방지
- 위치/방법: ModSecurity 또는 다른 WAF 설정에서 URL 인코딩 및 특수 문자 필터링 강화 (정규식 예시:
[%!$^&*()_+{}|:"<>?>\|,./])
4. 버전업그레이드 - 즉시 최신 패치 버전으로 업데이트 권장
- 위치/방법: ColdFusion 관리자 콘솔을 통해
20xx.x.xxxx 이상버전으로 업그레이드 수행 (예:/cfide/administrator/.cflocation?redirect=<TARGET_HOST>)
⚖️ 위험도 / 패치 우선순위
- 권고: 이번 주 내 패치 적용 권장 - 인증된 공격자가 제한된 환경 외부로의 접근을 통해 민감한 정보 노출 및 시스템 손상 가능성이 높음. 실전 악용성 고려 시 즉시 대응 필요함.
실제 동향 (## 🌐 추가)
현재 보도에 따르면, 이 취약점은 주로 내부 네트워크 내에서 테스트되었으며 일부 공격자 그룹이 인증된 계정을 활용해 제한된 디렉토리 외부의 파일 삭제를 시도한 사례가 보고됨 (출처: www.zerodayinitiative.com). 실전 환경에서는 내부 자산에 대한 접근 권한만 확보하면 즉시 악용 가능성이 높음을 주의해야 함.