🇰🇷 한글 설명
Gotenberg 8.32.0 이전 버전의 /forms/chromium/convert/url 및 /forms/chromium/screenshot/url 라우트에서 file:///tmp/ 경로에 대한 AllowedFilePrefixes 검증이 누락되어, 익명 공격자가 임시 디렉토리에 있는 다른 사용자의 진행 중인 변환 작업 원본 파일을 읽을 수 있습니다. 이는 정보 유출 취약점으로, 8.32.0 이상에서 수정되었습니다.
💡 쉬운 설명
Gotenberg가 파일 변환 시 임시 폴더의 접근 권한을 제대로 검사하지 않아, 다른 사용자의 변환 중인 파일을 훔쳐볼 수 있습니다. 누구나 URL 경로로 /tmp의 파일에 접근할 수 있다는 뜻입니다.
🇺🇸 원문 (English)
Gotenberg is a Docker-powered stateless API for PDF files. Prior to 8.32.0, the /forms/chromium/convert/url and /forms/chromium/screenshot/url routes accept url=file:///tmp/... from anonymous callers. The default Chromium deny-list intentionally exempts file:///tmp/ so HTML/Markdown routes can load their own request-local assets, and those routes apply a per-request AllowedFilePrefixes guard to scope the read. The URL routes never set AllowedFilePrefixes, so the scope guard silently skips. Alice enumerates /tmp/, walks Gotenberg's per-request working directories, and reads the raw source files of other in-flight conversions as rendered PDF output. This vulnerability is fixed in 8.32.0.
📍 영향받는 시스템
Gotenberg 버전 8.32.0 미만
⚔️ 공격 벡터
익명 공격자가 /forms/chromium/convert/url 또는 /forms/chromium/screenshot/url 엔드포인트에 file:///tmp/... 형식의 URL을 전송하여 다른 사용자의 파일 접근
🛡️ 대응 방법
Gotenberg를 버전 8.32.0 이상으로 업그레이드
🔧 검증 코드
출력된 버전이 8.32.0 이상이면 안전, 8.32.0 미만이면 즉시 업그레이드 필요
docker images gotenberg 2>/dev/null | tail -1 | awk '{print $2}'