🇰🇷 한글 설명
Gotenberg 문서 변환 도구의 특정 버전에서 URL 스킴을 검사하는 정규표현식이 대소문자를 구분하여 발생하는 보안 취약점입니다. 공격자가 URL 스킴을 대문자로 변환(예: HTTP://)함으로써 내부 네트워크 및 클라우드 메타데이터 엔드포인트에 대한 차단 목록을 우회할 수 있습니다. 이 취약점은 인증되지 않은 사용자가 내부 서비스에 접근할 수 있게 합니다.
💡 쉬운 설명
보안 규칙이 대소문자를 엄격하게 구분하는 허점을 이용해, 차단된 주소로 접속하는 것을 방해하는 필터를 속이는 문제입니다. 이를 통해 공격자는 원래 접근할 수 없는 회사의 내부 네트워크나 중요한 서버 정보에 접근할 수 있습니다.
🇺🇸 원문 (English)
Gotenberg is an API-based document conversion tool. In versions 8.30.1 and earlier, the default private-IP deny-lists for the --webhook-deny-list and --api-download-from-deny-list flags use a case-sensitive regular expression (^https?://) to match URL schemes. Because Go's net/url.Parse() normalizes the scheme to lowercase before establishing the outbound TCP connection, an attacker can bypass the deny-list by simply capitalizing part of the URL scheme (e.g., HTTP://, HTTPS://, or Http://). This allows unauthenticated requests to reach internal network services, including private IP ranges, loopback addresses, and cloud instance metadata endpoints such as HTTP://169.254.169.254/latest/meta-data/.
This bypasses the same security control that was patched in CVE-2026-27018.
This issue has been fixed in version 8.31.0.
📍 영향받는 시스템
Gotenberg 8.30.1 및 그 이전 버전
⚔️ 공격 벡터
URL 스킴의 대소문자를 변경(예: http:// -> HTTP://)하여 내부 IP 차단 목록(deny-list)을 우회하는 방식
🛡️ 대응 방법
Gotenberg를 보안 패치가 적용된 버전 8.31.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 8.31.0 미만인 경우 해당 취약점에 노출된 상태입니다.
gotenberg --version 2>/dev/null || echo 'Version check failed'