Gotenberg, będący stateless API do obsługi PDF w środowisku Docker, posiada podatność typu SSRF umożliwiającą nieuwierzytelnionemu atakującemu ominięcie domyślnych list blokad (deny-list). Podatność jest krytyczna, ponieważ pozwala zewnętrznemu wywołującemu wymusić na serwerze wykonanie zapytań HTTP do wewnętrznych, niedostępnych publicznie usług.
▸ Pokaż oryginał (EN)
Gotenberg is a Docker-powered stateless API for PDF files. Prior to 8.31.0, the default deny-lists used by Gotenberg's downloadFrom feature and webhook feature are bypassable. Because the filter is regex-based and case-sensitive, an unauthenticated attacker can supply URLs such as http://[::ffff:127.0.0.1]:... and reach loopback or private HTTP services that the default deny-list is intended to block. This crosses a real security boundary because an external caller can force the server to make outbound requests to internal-only targets. This vulnerability is fixed in 8.31.0.
Mechanizm filtrowania adresów URL w funkcjach downloadFrom oraz webhook oparty jest na wyrażeniach regularnych (regex) z uwzględnieniem wielkości liter (case-sensitive). Atakujący może dostarczyć URL w formacie IPv6-mapped IPv4, np. http://[::ffff:127.0.0.1]:..., który nie jest rozpoznawany przez regex jako adres loopback lub prywatny. W efekcie deny-list, mająca blokować dostęp do adresów lokalnych i prywatnych, jest skutecznie omijana. Serwer wykonuje wówczas wychodzące żądanie HTTP do wewnętrznego celu wskazanego przez atakującego.
Atakujący bez uwierzytelnienia może zmusić serwer Gotenberg do wykonywania zapytań do wewnętrznych usług sieciowych (SSRF), uzyskując potencjalny dostęp do poufnych danych oraz możliwość interakcji z infrastrukturą wewnętrzną niedostępną z zewnątrz.
Należy zaktualizować Gotenberg do wersji 8.31.0 lub nowszej, w której podatność została naprawiona. Dodatkowo zaleca się ograniczenie ruchu wychodzącego z kontenera Gotenberg na poziomie sieci (firewall, polityki sieciowe w środowisku kontenerowym).
Gotenberg w wersjach wcześniejszych niż 8.31.0
Podatność dotyczy środowisk kontenerowych (Docker). Szczegóły dostępne w GitHub Security Advisory GHSA-4vmc-gm8v-m35h.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:LThecodingmachine Gotenberg
APPThecodingmachine< 8.31.0
Powiązane podatności
Gotenberg: command injection w endpoincie zapisu metadanych PDF via ExifTool
Gotenberg: injection w wartościach metadanych — zapis plików i symlinki
An incomplete-cleanup vulnerability in the Office rendering engine of Gotenberg through 6.2.1 allows an attack...
A directory traversal vulnerability in file upload function of Gotenberg through 6.2.1 allows an attacker to u...
In Gotenberg through 6.2.1, insecure permissions for tini (writable by user gotenberg) potentially allow an at...