DEEP DIVE REPORT

CVE-2026-107844: Contao ImagesController 경로 순회와 프로젝트 디렉터리 이미지 파일 노출 조건 점검

SecurityDesk
• 2026.10.14 • 조회 4

Contao의 ImagesController에서 경로 순회(path traversal) 취약점 CVE-2026-107844가 보고되었습니다. 인증되지 않은 요청만으로 이미지 대상 디렉터리 밖의 일부 파일이 읽힐 수 있는 구조이기 때문에, Contao를 운영 중인 환경이라면 적용 버전 확인과 패치 검토가 우선됩니다.

개요

개요 인포그래픽
ImagesController는 사용자가 제어하는 {path} 값을 설정된 이미지 대상 디렉터리에 Path::join()으로 결합합니다. 이 과정에서 '..' 세그먼트가 정규화(canonicalise)되며, 결합 결과가 대상 디렉터리 내부에 남아 있는지를 확인하는 Path::isBasePath() 호출이 이루어지지 않았습니다. 그 결과 퍼센트 인코딩된 점 문자를 포함한 비인증 GET 요청으로 디렉터리 외부 경로를 참조할 수 있었습니다. 요청된 파일은 BinaryFileResponse로 반환됩니다.

공급업체는 이를 일반적인 임의 파일 읽기가 아니라 경계 검사 누락(missing boundary check)으로 분류했습니다. 읽기는 contao.image.valid_extensions에 지정된 확장자로 제한되고, 업로드 디렉터리 하위 경로는 별개의 이유로 실패하기 때문입니다. 수정 커밋은 경계 확인 로직과 함께 하위 디렉터리를 사용하는 테스트 코드를 추가했습니다.

영향 범위

  • Contao ImagesController를 사용하는 수정 전 릴리스가 대상입니다.
  • 수정은 Contao 5.3.50과 5.7.12 릴리스에 반영되었습니다.
  • 노출 대상은 이미지 대상 디렉터리 외부에 위치하면서 contao.image.valid_extensions에 허용된 확장자를 가진 파일이며, 프로젝트 디렉터리 내 민감하거나 의도치 않게 노출되면 안 되는 이미지 파일이 외부 접근 대상이 될 수 있습니다.
  • 정확한 취약 버전 하한 경계(어떤 버전부터 영향을 받는지)는 제공된 근거에서 명시되지 않았습니다. 파일 노출의 실제 침해 범위는 해당 사이트의 파일 배치와 확장자 허용 설정에 따라 달라질 수 있어 일괄 단정할 수 없습니다.

기술적 분석

취약성은 경로 결합 단계의 경계 확인 누락에 있습니다. Path::join()은 '..'을 정규화하므로, 결과 경로는 대상 디렉터리 밖으로 이동할 수 있으며, 코드에는 이 결과를 대상 디렉터리 내부로 검증하는 단계가 없습니다. 인증 없이 특수 조작된 GET 요청만으로 트리거될 수 있다는 점에서 악용 난이도 자체는 낮은 편으로 판단됩니다.

이 취약성은 단순한 파일 노출을 넘어, 경계 검사 누락이라는 구조적 약점을 남긴다는 점이 운영상 의미가 있습니다. 같은 경계 확인 패턴이 다른 파일 읽기 경로에도 적용된다면 노출 표면이 확대될 수 있으므로, ImagesController뿐 아니라 사용자 입력을 디렉터리에 결합하는 다른 경로가 동일한 보장을 갖는지 점검 범위에 넣는 것이 좋습니다.

대응 우선순위는 다음과 같이 해석할 수 있습니다. 첫째, 수정 릴리스(5.3.50 또는 5.7.12) 적용 가능 여부가 곧 패치 우선순위의 기준입니다. 둘째, 패치가 어려운 환경에서는 경로 순회 시도 차단과 접근 로그 점검이 임시 완화책의 축이 됩니다. 셋째, 야생 악용·PoC·KEV 등재가 확인되지 않았다는 사실은 긴급도를 낮추지 못합니다. 메커니즘상 비인증 악용이 가능하기 때문에, 확인되지 않는 상태 자체를 근거로 대응을 미루지는 않아야 합니다.

대응 방안

  • 적용 가능한 Contao 버전이라면 5.3.50 또는 5.7.12 릴리스로 즉시 업데이트를 검토하세요.
  • 웹 서버/프록시 로그에서 ImagesController 엔드포인트로 향하는 비인증 GET 요청 중 퍼센트 인코딩된 점 문자가 포함된 경로 패턴을 점검하세요.
  • 이미지 컨트롤러 엔드포인트에 대한 비정상적인 경로 순회 시도(예: '..' 세그먼트) 탐지 규칙을 적용하세요.
  • 업데이트 적용 전이라면 웹 방화벽(WAF) 등으로 이미지 컨트롤러 경로의 비정상 경로 요청을 차단하는 임시 완화책을 평가하세요.
  • 장기적으로는 컨트롤러가 사용자 입력 경로를 대상 디렉터리에 결합한 후 결과가 해당 디렉터리 내부에 있는지 반드시 확인하는 경계 검사 로직을 유지하고, 이미지 파일 업로드/대상 디렉터리 구성을 점검하여 민감 정보를 포함하는 파일이 웹 노출 가능 경로에 두지 않도록 관리하세요.

다음 사항들은 현재 자료로 확인되지 않아 한계로 남습니다. 야생 악용 사례, 공개 PoC, CISA KEV 등재 여부가 확인되지 않아 실제 공격 활동 수준을 단정할 수 없습니다. 독립적인 제3자 분석(연구 기관·보안 업체 보고서)도 확인되지 않았으며, 정확한 취약 버전 하한 경계도 제공된 근거에서 명시되지 않았습니다.

참고자료

함께 읽으면 좋은 글

본 콘텐츠는 AI 기술로 작성된 분석 리포트를 포함하고 있습니다. 내용 중 사실과 다르거나 보완이 필요한 정보를 발견하셨으면 댓글을 통해 의견을 부탁드립니다. 여러분의 피드백은 더 정확한 보안 정보 공유에 큰 도움이 됩니다.

댓글 (0)

댓글을 작성하려면 로그인이 필요합니다.

로그인

아직 댓글이 없습니다.

첫 번째 댓글을 작성해보세요!

IT 도구 서랍

→ Unix: 2025-01-15T09:30:00
→ 날짜: 1736934600

→ ASCII: ABC
→ 문자: 65 66 67

ASCII 코드표 — 클릭하면 입력란에 추가

DecHex약어설명
DecHex문자
DecHex문자

→ 유니코드: 홍길동
→ 문자: \ud64d\uae38\ub3d9