CVE-2026-16434
NiskieCVSS 2.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 31 - wyżej niż 31% wszystkich znanych CVE
Streszczenie
Adminer w wersjach 4.6.0-5.5.0 (poprawione w 5.5.1) ma niekompletną poprawkę podatności X-Forwarded-Prefix. Walidacja odrzuca tylko prefiksy zaczynające się od '/', ale pozwala na wartości takie jak '/\evil.com', które po normalizacji przeglądarki stają się sieciowym odwołaniem ścieżki, wpływając na atrybut Path w ciasteczkach.
Ocena ryzyka
Podatność może prowadzić do nieprawidłowego zakresu ciasteczek, co może być wykorzystane do ataków typu session fixation lub innych manipulacji sesją, jeśli atakujący może ustawić nagłówek X-Forwarded-Prefix.
Rekomendacja
Zaktualizuj Adminer do wersji 5.5.1 lub nowszej. Dodatkowo skonfiguruj reverse proxy tak, aby nie przekazywał nagłówka X-Forwarded-Prefix od klientów.
Inne podatności w Adminer
Zobacz wszystkie- CVE-2026-109347Wysokie
Adminer przed 6.1.1 zawiera podatność na zdalne wykonanie kodu, która pozwala uwierzytelnionym użytkownikom SQLite na ominięcie ograniczeń ATTACH i VACUUM INTO poprzez poprzedzenie instrukcji znakiem BOM UTF-8. Atakujący mogą dołączyć plik bazy danych w ścieżce serwowanej przez PHP i utworzyć tabelę z kodem PHP, aby wykonać go jako użytkownik serwera WWW.
- CVE-2026-100696Średnie
Adminer 4.16.0 do 6.0.1 zawiera podatność SSRF przed uwierzytelnieniem w opcjonalnym sterowniku Elasticsearch (plugins/drivers/elastic.php), naprawioną w 6.0.2. Ponieważ adminer/include/auth.inc.php wywołuje Driver::connect() przed walidacją wyniku logowania, nieuwierzytelniony atakujący może wysłać spreparowane parametry auth[server], auth[username] i auth[password], powodując, że serwer Adminer wyśle żądanie HTTP GET do dowolnego osiągalnego hosta i portu. Sterownik nie blokuje adresów loopback, prywatnych, link-local ani innych zastrzeżonych; jeśli nie podano portu, dodaje domyślny 9200, a ogólna kontrola portów odrzuca porty poniżej 1024. Wybrane pola błędów JSON z odpowiedzi innych niż 2xx oraz błędy połączenia są renderowane na stronie logowania, co umożliwia skanowanie portów i rozpoznanie wewnętrznej sieci. Wymaga to wdrożenia opcjonalnego sterownika Elasticsearch i włączenia allow_url_fopen.
- CVE-2026-56705Krytyczne
Adminer przed wersją 5.4.3 nie sanityzuje pola serwera przed skonstruowaniem ciągu DSN PDO, co pozwala nieuwierzytelnionym atakującym na wstrzyknięcie parametrów ODBC za pomocą średników. Atakujący może wstrzyknąć parametry TraceFile i TraceOn, aby zapisać kod PHP do katalogu głównego serwera WWW, osiągając zdalne wykonanie kodu.
- CVE-2021-21311WysokieAktywnie exploitowane
Adminer, narzędzie do zarządzania bazami danych w jednym pliku PHP, w wersjach od 4.0.0 do 4.7.9 zawiera podatność typu server-side request forgery (SSRF). Dotyczy to wersji zawierających wszystkie sterowniki (np. adminer.php). Podatność została naprawiona w wersji 4.7.9.
- CVE-2026-100698Średnie
Adminer 5.5.1 do 6.0.1 nieprawidłowo parsuje ciąg 'server' logowania w funkcji host_port() w adminer/include/functions.inc.php. Grupa przechwytująca port wymaga czystych cyfr zakotwiczonych na końcu ciągu, więc każda wartość serwera z niedomagającym ogonem nie spełnia wyrażenia regularnego i wraca do zwrócenia całego ciągu jako hosta z pustym portem. Ponieważ ograniczenie uprzywilejowanych portów w adminer/include/auth.inc.php sprawdza tylko sparsowany port, kontrola jest pomijana, a klient mysqli/mysqlnd następnie ponownie parsuje host:port z ciągu hosta i otwiera połączenie TCP. Zdalny, nieuwierzytelniony atakujący, który może dotrzeć do strony logowania Adminer, może przesłać spreparowaną wartość, taką jak 127.0.0.1:80/x, aby serwer zainicjował połączenia TCP do dowolnych wewnętrznych hostów i uprzywilejowanych portów przed weryfikacją poświadczeń, umożliwiając SSRF i ślepe skanowanie portów wewnętrznych (odmowa połączenia vs. handshake vs. timeout działa jako wyrocznia żywotności). To regresja, która ponownie otwiera obejście naprawione w 5.5.0 (GHSA-58cq-mgw2-38m5). Naprawione w 6.0.2.
- CVE-2026-100697Wysokie
Adminer w wersjach od 6.0.0 do 6.0.1, gdy załadowany jest oficjalny plugin sterownika ClickHouse, jest podatny na podatność Server-Side Request Forgery przed uwierzytelnieniem. Nieuwierzytelniony atakujący może przesłać auth[driver]=clickhouse z auth[server] ustawionym na dowolny URL, powodując, że serwer Adminer wyśle żądanie HTTP POST zawierające 'SELECT version()' do tego hosta. W rootQuery(), jeśli cel zwróci status poza 200-299 (inny niż 401/403), surowe ciało odpowiedzi HTTP jest przypisywane do błędu połączenia i renderowane na stronie logowania, więc atakujący otrzymuje pełne ciało odpowiedzi wewnętrznej usługi. Umożliwia to rozpoznanie wewnętrznej sieci/portów i ujawnienie poufnych informacji zawartych w wewnętrznych stronach błędów. Naprawiono w Adminer 6.0.2.
- CVE-2026-100695Średnie
Adminer przed wersją 6.0.2 zawiera podatność cross-site scripting, gdzie wynik CONNECTION_ID() z bazy danych jest interpolowany do JavaScript bez odpowiedniego escapowania, co pozwala złośliwemu serwerowi bazy danych na wykonanie dowolnego JavaScript w uwierzytelnionym kontekście Adminer. W środowiskach współlokowanych, gdzie baza danych ma uprawnienia FILE i może zapisywać do katalogu głównego WWW, atakujący mogą użyć XSS do wysyłania uwierzytelnionych żądań SQL, które zapisują pliki PHP przez INTO DUMPFILE, osiągając zdalne wykonanie kodu jako konto serwera WWW.
- CVE-2026-56706Średnie
Adminer przed wersją 5.4.3 używa schematu tokenów CSRF, który przesyła zarówno maskę XOR, jak i zamaskowaną wartość w każdym tokenie (format (rand XOR secret):rand), co pozwala każdemu, kto zaobserwuje pojedynczy token CSRF (np. przez podsłuch sieciowy, pliki dziennika, nagłówek Referer lub XSS), na odzyskanie sekretu sesji za pomocą pojedynczej operacji XOR i sfałszowanie nieograniczonej liczby ważnych tokenów. Implementacja jest dodatkowo osłabiona przez niskoentropijny token sesji (rand(1,1e6), ~20 bitów), który umożliwia ślepe brute-force, oraz przez użycie luźnego porównania (==) w weryfikacji tokena, co umożliwia manipulację typem w PHP. Eksploatacja umożliwia ataki CSRF na uwierzytelnione sesje, w tym wykonanie dowolnych zapytań SQL.
- CVE-2026-56704Średnie
Adminer przed wersją 5.4.3 wstawia nieoczyszczone ciągi wersji serwera bazy danych do tagów skryptów z ważnymi nonce CSP bez odpowiedniej walidacji. Atakujący kontrolujący złośliwy serwer MySQL mogą zwrócić spreparowane ciągi wersji, które wychodzą z kontekstu JavaScript i wykonują dowolny kod, omijając zabezpieczenia Content Security Policy.
- CVE-2026-56703Wysokie
Adminer przed wersją 5.4.3 zawiera podatność na zdalne wykonanie kodu w obsłudze zapytań SQLite, gdzie polecenie VACUUM INTO nie jest blokowane mimo ograniczeń ATTACH. Uwierzytelnieni atakujący mogą wykonać VACUUM INTO, aby zapisać kod PHP do dowolnych ścieżek plików i wykonać polecenia na serwerze.
Oryginalny opis (angielski, źródło NVD)
Adminer 4.6.0 through 5.5.0 (fixed in 5.5.1) contains an incomplete fix for a prior X-Forwarded-Prefix vulnerability (GHSA-8478-xrj3-h9c2). The validation guard (bootstrap.inc.php) only rejects prefixes matching ^/[^/], blocking //evil.com but allowing values such as /\evil.com whose second character is a backslash. Because browsers normalize backslash to forward slash, a network-path reference survives into REQUEST_URI and reaches cookie_path(), affecting the Set-Cookie Path attribute. Exploitation requires that clients can set the X-Forwarded-Prefix header (a misconfigured or absent reverse proxy). Impact is limited to anomalous cookie-path scoping.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

