CVE-2026-52846
ŚrednieCVSS 4.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 4 - wyżej niż 4% wszystkich znanych CVE
Streszczenie
Caddy przed wersją 2.11.4 zawiera podatność w funkcji szablonowej stripHTML, która nie usuwa w sposób niezawodny wszystkich znaczników HTML z ciągów wejściowych. Nieprawidłowo sformatowany HTML, taki jak <<>img src=x onerror=alert()>, może ominąć logikę usuwania znaczników, potencjalnie pozostawiając niebezpieczną treść w danych wyjściowych.
Ocena ryzyka
Ryzyko polega na możliwości wystąpienia ataku XSS po stronie klienta, jeśli niezaufane ciągi znaków są później renderowane jako HTML. Może to prowadzić do kradzieży danych sesji, przejęcia kont użytkowników lub wykonania złośliwego kodu w przeglądarce ofiary.
Rekomendacja
Należy niezwłocznie zaktualizować Caddy do wersji 2.11.4 lub nowszej, która zawiera poprawkę usuwającą tę lukę. Dodatkowo, zaleca się unikanie renderowania niezaufanych danych wejściowych jako HTML bez odpowiedniej sanityzacji.
Inne podatności w Caddy
Zobacz wszystkie- CVE-2026-92700Średnie
Caddy to rozszerzalna platforma serwerowa domyślnie używająca TLS. W wersji 2.11.3 i wcześniejszych w pliku modules/caddyhttp/fileserver/staticfiles.go funkcja fileHidden() używa wrażliwych na wielkość liter sprawdzeń filepath.Match, przez co warianty wielkości liter mogą obejść reguły ukrywania na systemach plików niewrażliwych na wielkość liter lub gdy współistnieją ścieżki o mieszanej wielkości liter, ujawniając pliki przeznaczone do ukrycia.
- CVE-2026-92284Średnie
Caddy to rozszerzalna platforma serwerowa domyślnie używająca TLS. W wersji 2.11.3 i wcześniejszych w pliku modules/caddyhttp/replacer.go rozwiązywanie http.request.body odczytuje całe ciało żądania za pomocą nieograniczonego io.Copy, zanim zadziałają limity middleware ciała żądania, co pozwala na wyczerpanie pamięci i zakończenie procesu.
- CVE-2026-77281Średnie
Caddy w wersji 2.11.3 i wcześniejszych zawiera trzy słabości zależne od konfiguracji, które dotyczą warstwy handlera i placeholderów. W modules/caddyhttp/rewrite/rewrite.go, funkcja Rewrite.Rewrite() może przekazać bajty zastępcze kontrolowane przez atakującego przez buildQueryString do drugiej ekspansji placeholderów, gdy URI przepisywania kończy się dosłownym znakiem zapytania. Umożliwia to wstrzyknięcie placeholderów środowiskowych lub zmiennych żądania w celu ujawnienia danych, a gdy zarejestrowany jest dostawca plików, umożliwia wstrzyknięcie placeholderów plików w celu ujawnienia czytelnych plików. Problem naprawiono w wersji 2.11.4.
- CVE-2026-52845Wysokie
Caddy przed wersją 2.11.4 zawiera podatność w mechanizmie forward_auth copy_headers, która pozwala zdalnemu klientowi na ominięcie usuwania nagłówka tożsamości i wstrzyknięcie własnego nagłówka do CGI/PHP-FastCGI. Problem wynika z różnicy w normalizacji nagłówków HTTP (zamiana myślników na podkreślenia) między Caddy a PHP/FastCGI.
- CVE-2026-52844Wysokie
Caddy przed wersją 2.11.4 na Windows nieprawidłowo obsługuje separatory ścieżek w matcherach ścieżek, co pozwala ominąć ochronę dostępu do katalogów. Niezautoryzowany atakujący zdalnie może uzyskać dostęp do chronionych zasobów.
Oryginalny opis (angielski, źródło NVD)
Caddy is an extensible server platform that uses TLS by default. Prior to 2.11.4, Caddy’s stripHTML template function cannot reliably remove all HTML tags from input strings. Certain malformed HTML, such as <<>img src=x onerror=alert()>, can bypass the tag-stripping logic, potentially leaving dangerous content in the output if it is later rendered as HTML. This may allow client-side XSS in cases where untrusted strings are rendered unsafely. This vulnerability is fixed in 2.11.4.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

