Gotenberg는 API 기반 문서 변환 도구입니다. 버전 8.30.1 이하에서 --webhook-deny-list 및 --api-download-from-deny-list 플래그에 대한 기본 개인 IP 거부 목록은 URL 구성표와 일치시키기 위해 대소문자를 구분하는 정규식(^https?://)을 사용합니다. Go의 net/url.Parse()는 아웃바운드 TCP 연결을 설정하기 전에 구성표를 소문자로 정규화하므로 공격자는 단순히 URL 구성표(예: HTTP://, HTTPS:// 또는 Http://)의 일부를 대문자로 사용하여 거부 목록을 우회할 수 있습니다. 이것
Gotenberg는 API 기반 문서 변환 도구입니다. 버전 8.30.1 이하에서 --webhook-deny-list 및 --api-download-from-deny-list 플래그에 대한 기본 개인 IP 거부 목록은 URL 구성표와 일치시키기 위해 대소문자를 구분하는 정규식(^https?://)을 사용합니다. Go의 net/url.Parse()는 아웃바운드 TCP 연결을 설정하기 전에 구성표를 소문자로 정규화하므로 공격자는 단순히 URL 구성표(예: HTTP://, HTTPS:// 또는 Http://)의 일부를 대문자로 사용하여 거부 목록을 우회할 수 있습니다. 이를 통해 인증되지 않은 요청이 개인 IP 범위, 루프백 주소 및 HTTP://169.254.169.254/latest/meta-data/와 같은 클라우드 인스턴스 메타데이터 엔드포인트를 포함한 내부 네트워크 서비스에 도달할 수 있습니다.
이는 CVE-2026-27018에 패치된 것과 동일한 보안 제어를 우회합니다.
이 문제는 버전 8.31.0에서 해결되었습니다.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 78.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 78.00 |
VPI 공식 vpi-v1 기준
| 소스 | CVSS 버전 | 기본 점수 | 심각도 | 벡터 문자열 | 평가일 |
|---|---|---|---|---|---|
| NVDNIST | 3.1 | 7.5 | HIGH | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N | 2026. 05. 13. |
| NVDNIST | 4.0 | 7.8 |
| CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| 2026. 05. 06. |
| OSV3rd | 3.1 | 9.3 | CRITICAL | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N | 2026. 05. 05. |