🇰🇷 한글 설명
Gotenberg v8.1.0 이전 버전의 /convert/html 엔드포인트에서 SSRF 취약점이 발견되어 localhost를 통한 로컬 파일 포함 공격이 가능합니다. 공격자가 iframe src="\\localhost/etc/passwd" 같은 요청으로 시스템의 민감한 파일을 읽을 수 있습니다.
💡 쉬운 설명
Gotenberg 문서 변환 서비스가 localhost 경로 접근을 차단하지 못해, 공격자가 서버 내부 파일을 읽을 수 있습니다. 민감한 설정 파일이나 비밀번호 파일 같은 것을 유출할 수 있어 위험합니다.
🇺🇸 원문 (English)
Versions of the package github.com/gotenberg/gotenberg/v8/pkg/gotenberg before 8.1.0; versions of the package github.com/gotenberg/gotenberg/v8/pkg/modules/chromium before 8.1.0; versions of the package github.com/gotenberg/gotenberg/v8/pkg/modules/webhook before 8.1.0 are vulnerable to Server-side Request Forgery (SSRF) via the /convert/html endpoint when a request is made to a file via localhost, such as <iframe src="\\localhost/etc/passwd">. By exploiting this vulnerability, an attacker can achieve local file inclusion, allowing of sensitive files read on the host system.
Workaround
An alternative is using either or both --chromium-deny-list and --chromium-allow-list flags.
📍 영향받는 시스템
github.com/gotenberg/gotenberg v8.0.x 이하, github.com/gotenberg/gotenberg/v8/pkg/modules/chromium v8.0.x 이하, github.com/gotenberg/gotenberg/v8/pkg/modules/webhook v8.0.x 이하
⚔️ 공격 벡터
/convert/html 엔드포인트에 <iframe src="\\localhost/etc/passwd"> 형태의 요청을 전송하여 로컬 파일 접근
🛡️ 대응 방법
버전을 8.1.0 이상으로 업그레이드하거나 --chromium-deny-list 및 --chromium-allow-list 플래그로 localhost 접근 제한
🔧 검증 코드
명령어 실행 결과에서 v8.0.x 패턴이 보이면 취약 버전, 검출되지 않으면 8.1.0 이상의 안전 버전이거나 설치되지 않은 상태
gotenberg --version 2>/dev/null | grep -oE 'v8\\.[0-0]\\.[0-9]+' && echo 'Vulnerable'