CVE-2026-42590
WysokieStreszczenie
Gotenberg to API do plików PDF, które przed wersją 8.30.0 miało lukę umożliwiającą obejście blokady zapisu metadanych ExifTool. Dzięki składni prefiksu grupy ExifTool, atakujący mógł dowolnie zmieniać nazwy plików, przenosić je oraz tworzyć twarde i miękkie linki na serwerze.
Ocena ryzyka
Luka ta może prowadzić do nieautoryzowanej modyfikacji plików na serwerze, co stwarza poważne zagrożenie dla integralności danych oraz bezpieczeństwa systemu.
Rekomendacja
Zaleca się aktualizację Gotenberga do wersji 8.30.0 lub nowszej, aby usunąć tę podatność oraz zminimalizować ryzyko związane z nieautoryzowanym dostępem do plików.
Inne podatności w Gotenberg
Zobacz wszystkie- CVE-2026-45742Wysokie
Gotenberg od wersji 8.10.0 do 8.33.0 ma podatność na wyścig w funkcji newContext w pkg/modules/api/context.go, gdzie wiele gorutyn współbieżnie zapisuje do współdzielonych map i slice'ów. Spreparowane żądanie multipart z wieloma wpisami downloadFrom może wywołać błąd krytyczny 'concurrent map writes' i zatrzymać proces. Domyślna konfiguracja umożliwia atak bez uwierzytelnienia, prowadząc do odmowy usługi. Problem naprawiono w wersji 8.33.0.
- CVE-2026-42595Wysokie
Gotenberg to API do plików PDF, które przed wersją 8.32.0 nie miało domyślnej ochrony przed atakami SSRF opartymi na HTTP/HTTPS. Atakujący mógł skierować Chromium na dowolny wewnętrzny adres IP i otrzymać odpowiedź w formacie PDF.
- CVE-2026-40893Wysokie
Gotenberg to API bezstanowe dla plików PDF, które przed wersją 8.31.0 nie sprawdzało poprawnie tagów, co umożliwiało atakującym zdalnym przesuwanie, zmienianie nazw i uprawnień do dowolnych plików.
- CVE-2026-45741Wysokie
Gotenberg w wersji 8.32.0 i wcześniejszych ma podatność w funkcji IsPublicIP, która nie odrzuca prefiksów IPv6 takich jak 2002::/16, 64:ff9b::/96, fec0::/10 i innych, które mogą zawierać lub kierować do niepublicznych adresów IPv4. Spreparowany rekord DNS AAAA może spowodować, że klient HTTP będzie traktował adres opakowujący wewnętrzny cel (np. 169.254.169.254) jako publiczny, co umożliwia dostęp do metadanych chmury. Problem naprawiono w wersji 8.33.0.
- CVE-2026-44829Wysokie
Gotenberg w wersji 8.32.0 i wcześniejszych ma podatność w obsłudze nazw plików, gdzie filepath.Base na Linuxie nie traktuje backslashy jako separatorów ścieżek, więc nazwa pliku zawierająca składniki ścieżek w stylu Windows (np. ........\Windows\System32\evil.pdf) przechodzi sanityzację. Zdalny atakujący może dostarczyć taką nazwę, a po rozpakowaniu archiwum na systemie Windows plik może zostać zapisany poza zamierzonym katalogiem. Problem naprawiono w wersji 8.33.0.
- CVE-2026-55229Wysokie
Podatność w Gotenberg przed wersją 8.34.0 umożliwia wstrzyknięcie żądań po stronie serwera (SSRF) oraz ograniczony odczyt plików lokalnych poprzez specjalnie spreparowany dokument przekazany do endpointu /forms/libreoffice/convert. LibreOffice automatycznie pobiera zewnętrzne zasoby HTTP(S) oraz lokalne pliki podczas konwersji dokumentu.
- CVE-2026-39383Wysokie
Gotenberg w wersji 8.29.1 zawiera podatność na ślepe SSRF. Nieuwierzytelniony atakujący z dostępem sieciowym może wymusić na serwerze wykonanie wychodzących żądań HTTP POST do dowolnych wewnętrznych lub zewnętrznych miejsc docelowych, podając spreparowany URL w nagłówku Gotenberg-Webhook-Url.
- CVE-2026-40280Wysokie
Gotenberg w wersjach 8.30.1 i wcześniejszych używa wyrażenia regularnego ^https?:// do sprawdzania URL-i w listach blokad prywatnych adresów IP. Ponieważ Go normalizuje schemat URL do małych liter przed nawiązaniem połączenia, atakujący może ominąć blokadę, używając wielkich liter w schemacie (np. HTTP://). Umożliwia to wysyłanie nieuwierzytelnionych żądań do wewnętrznych usług sieciowych, w tym metadanych chmurowych.
- CVE-2024-21527Wysokie
Podatność SSRF w Gotenberg przed wersją 8.1.0 umożliwia wczytanie plików lokalnych przez endpoint /convert/html. Atakujący może wykorzystać iframe wskazujący na localhost, np. <iframe src="\\localhost/etc/passwd">, co prowadzi do odczytu wrażliwych plików systemowych.
Oryginalny opis (angielski, źródło NVD)
Gotenberg is a Docker-powered stateless API for PDF files. Prior to 8.30.0, The ExifTool metadata write blocklist in Gotenberg can be bypassed using ExifTool's group-prefix syntax, enabling arbitrary file rename, move, hardlink, and symlink creation on the server. ExifTool supports group-prefix syntax where File:FileName is processed identically to FileName -- the prefix is stripped by SetNewValue in Writer.pl before tag matching. The safeKeyPattern regex (^[a-zA-Z0-9\-_.:]+$) allows colons, so prefixed tag names pass validation. Any prefix works: File:FileName, System:Directory, a:HardLink, etc. Additionally, FilePermissions, FileUserID, and FileGroupID pseudo-tags are not blocked at all and can modify file attributes without any prefix. This vulnerability is fixed in 8.30.0.

