Squidbleed: 29-letnia luka w Squid Proxy może ujawniać poświadczenia i dane sesyjne - Security Bez Tabu

Squidbleed: 29-letnia luka w Squid Proxy może ujawniać poświadczenia i dane sesyjne

Cybersecurity news

Wprowadzenie do problemu / definicja

Squidbleed to nazwa nadana luce oznaczonej jako CVE-2026-47729, wykrytej w popularnym serwerze pośredniczącym Squid Proxy. Podatność prowadzi do nadmiarowego odczytu pamięci, co może skutkować ujawnieniem fragmentów danych wcześniej przetwarzanych przez proces proxy, w tym nagłówków HTTP, danych logowania, tokenów sesyjnych oraz kluczy API.

Szczególną wagę problemu podkreśla fakt, że źródło błędu miało zostać wprowadzone już w 1997 roku. Oznacza to, że luka mogła pozostawać obecna w kodzie przez blisko trzy dekady, nie zwracając uwagi administratorów i audytorów bezpieczeństwa.

W skrócie

Podatność dotyczy parsera list katalogowych FTP w Squid Proxy i może zostać wykorzystana przez atakującego kontrolującego serwer FTP dostępny z poziomu podatnego proxy. W wyniku błędnego przetwarzania danych parser odczytuje pamięć poza granicą bufora i zwraca jej fragmenty jako część odpowiedzi.

  • Luka została oznaczona jako CVE-2026-47729.
  • Atak wymaga kontroli nad serwerem FTP osiągalnym przez proxy.
  • Możliwy jest wyciek poświadczeń, tokenów sesyjnych i nagłówków HTTP.
  • Najbardziej zagrożone są środowiska wieloużytkownikowe i starsze wdrożenia z ruchem HTTP.
  • Standardowe połączenia HTTPS tunelowane przez CONNECT nie są głównym wektorem tego scenariusza.

Kontekst / historia

Squid od lat pozostaje jednym z najczęściej wykorzystywanych serwerów proxy i cache w środowiskach firmowych, edukacyjnych oraz publicznych. Z uwagi na jego rolę jako współdzielonego punktu dostępu do internetu każda luka umożliwiająca odczyt pamięci procesu ma potencjalnie szerokie konsekwencje dla poufności danych.

Według ujawnionych informacji podatność jest powiązana ze starszym kodem odpowiedzialnym za obsługę listingów FTP, w tym z logiką kompatybilności dla historycznych implementacji serwerów NetWare FTP. To przykład technicznego długu, w którym dawna funkcjonalność pozostaje aktywna mimo ograniczonego współczesnego znaczenia i może tworzyć trudny do zauważenia wektor ataku.

Sprawa pokazuje również, że nawet dojrzałe i szeroko wdrożone oprogramowanie może zawierać błędy obecne od dekad. W takich przypadkach powierzchnia ataku często nie wynika z nowych funkcji, lecz z pozostawionych elementów zgodności wstecznej.

Analiza techniczna

Technicznie Squidbleed wynika z błędnej obsługi ciągów znaków podczas parsowania wpisów katalogowych FTP. W określonych warunkach parser próbuje odnaleźć pierwszy znak nienależący do białych znaków po znaczniku czasu, jednak nieprawidłowo traktuje koniec łańcucha jako poprawny punkt dalszego przetwarzania.

W efekcie wskaźnik wychodzi poza właściwy bufor i kontynuuje odczyt pamięci do momentu znalezienia bajtu spełniającego oczekiwane kryteria. To klasyczny memory overread, w którym proces odczytuje dane spoza legalnego zakresu wejścia.

W praktyce zwracane fragmenty nie muszą pochodzić z analizowanego listingu FTP. Mogą to być pozostałości po wcześniejszych operacjach wykonanych przez proces Squid, w tym elementy żądań HTTP innych użytkowników korzystających z tego samego proxy. W opisywanym scenariuszu możliwe było ujawnienie nagłówka Authorization z procesu logowania HTTP.

Warunkiem eksploatacji jest możliwość skierowania podatnego proxy do kontrolowanego serwera FTP. Jeśli organizacja utrzymuje aktywną obsługę FTP, a serwer proxy obsługuje ruch wielu użytkowników, luka może stać się mechanizmem wycieku danych pomiędzy sesjami.

Konsekwencje / ryzyko

Najpoważniejszym skutkiem Squidbleed jest naruszenie poufności danych przetwarzanych przez współdzielony serwer proxy. Ujawnione mogą zostać informacje należące do innych użytkowników lub aplikacji korzystających z tego samego procesu.

  • dane logowania przesyłane w nagłówkach HTTP,
  • tokeny sesyjne i ciasteczka autoryzacyjne,
  • klucze API,
  • fragmenty żądań aplikacyjnych i metadanych sesji.

Najwyższe ryzyko dotyczy środowisk współdzielonych, takich jak sieci korporacyjne, kampusy, hotspoty oraz starsze infrastruktury filtrujące ruch wychodzący. Jeżeli przez proxy nadal przechodzi ruch HTTP bez szyfrowania, skutki mogą obejmować przejęcie kont, eskalację uprawnień i dalsze poruszanie się atakującego po infrastrukturze.

Choć klasyczny tunel HTTPS zestawiany przez CONNECT nie jest bezpośrednio objęty tym scenariuszem, nie oznacza to pełnego bezpieczeństwa. W wielu organizacjach nadal występują starsze usługi, integracje i urządzenia wykorzystujące prosty HTTP, a to zwiększa wartość ataku.

Rekomendacje

Organizacje korzystające ze Squid Proxy powinny jak najszybciej ustalić, które wersje oprogramowania są obecne w środowisku, a następnie wdrożyć dostępne poprawki bezpieczeństwa. Jeśli natychmiastowa aktualizacja nie jest możliwa, kluczowym środkiem ograniczającym ryzyko pozostaje wyłączenie obsługi FTP.

  • zweryfikować konfigurację Squid pod kątem aktywnej obsługi FTP,
  • ograniczyć komunikację proxy z nieautoryzowanymi zewnętrznymi serwerami FTP,
  • monitorować logi pod kątem nietypowych zapytań i odpowiedzi FTP,
  • wymusić użycie HTTPS dla wszystkich usług użytkowników i aplikacji,
  • przeanalizować, czy przez proxy przechodzą jawne poufne nagłówki HTTP,
  • rozważyć segmentację użytkowników i ograniczenie współdzielonych komponentów pośredniczących,
  • po wdrożeniu zmian przeprowadzić testy walidacyjne i regresyjne.

Z perspektywy strategicznej incydent ten potwierdza potrzebę okresowego przeglądu starszych funkcji protokołowych, eliminacji zbędnych mechanizmów kompatybilności oraz audytu kodu niskopoziomowego pod kątem błędów pamięci.

Podsumowanie

Squidbleed to poważna luka pokazująca, że niepozorny błąd logiczny może przetrwać w dojrzałym oprogramowaniu przez dziesięciolecia. W tym przypadku konsekwencją jest możliwość odczytu danych spoza bufora i wycieku poświadczeń oraz innych wrażliwych informacji obsługiwanych przez współdzielony serwer proxy.

Dla administratorów i zespołów bezpieczeństwa to wyraźny sygnał, że nawet niszowe dziś komponenty, takie jak obsługa FTP, mogą tworzyć realne ryzyko dla nowoczesnej infrastruktury. Priorytetem powinny być aktualizacja, ograniczenie powierzchni ataku i przegląd danych przechodzących przez warstwę proxy.

Źródła

  1. Security Affairs – Squidbleed: 29-Year-Old Squid Bug Leaks User Credentials — https://securityaffairs.com/194041/hacking/squidbleed-29-year-old-squid-bug-leaks-user-credentials.html
  2. Calif.io – Squidbleed technical report — https://blog.calif.io/p/squidbleed
  3. CVE Record – CVE-2026-47729 — https://www.cve.org/CVERecord?id=CVE-2026-47729
  4. Squid Project — https://www.squid-cache.org/
  5. GitHub – Squid related patch and project resources — https://github.com/squid-cache/squid