Powrót do strony głównej

Krytyczna podatność w protobuf.js: zagrożenie dla Google Cloud i Firebase

Krytyczna podatność w bibliotece protobuf.js umożliwia wykonanie dowolnego kodu na serwerze. Zagrożone są usługi na Google Cloud i Firebase. Wydano poprawki.

Krytyczna dziura w protobuf.js: miliony usług zagrożone
Advertisement 728x90

Krytyczna podatność w protobuf.js zagraża tysiącom usług na Google Cloud i Firebase

Popularna biblioteka JavaScript protobuf.js, używana do pracy z formatem Protocol Buffers, zawiera krytyczną podatność umożliwiającą atakującym wykonanie dowolnego kodu na serwerze. Problem dotyczy milionów usług, szczególnie tych działających na Google Cloud i Firebase.

Jak działa atak

Podatność związana jest z mechanizmem przetwarzania plików schematów protobuf. Biblioteka generuje kod JavaScript na podstawie opisu danych i wykonuje go przez odpowiednik eval. Jeśli w nazwę typu lub pola schematu wstawi się złośliwy kod, zostanie on wykonany bez weryfikacji.

Atak nie wymaga skomplikowanych działań: wystarczy, że aplikacja załaduje podmieniony plik schematu z zewnętrznego źródła. Takie schematy często pochodzą z usług partnerskich, wspólnych repozytoriów lub przez gRPC-samoopis. Po załadowaniu jedna zwykła wiadomość aktywuje złośliwy kod.

Google AdInline article slot

Skala zagrożenia

  • 52 miliony pobrań tygodniowo – tyle razy pobierany jest protobuf.js.
  • Biblioteka często jest ukrytą zależnością, więc rzeczywista liczba podatnych projektów może być wyższa.
  • Podatne są wersje do 8.0.0 i 7.5.4 włącznie.
  • Podatność otrzymała identyfikator GHSA-xq3m-2v4x-88gg i ocenę 9,4 punktu w CVSS.

Co ważne

  • Podatność umożliwia wykonanie kodu na serwerze bez uwierzytelniania.
  • Atak jest możliwy, jeśli aplikacja ładuje schematy z zewnętrznych źródeł.
  • Łaty zostały wydane w wersjach 8.0.1 i 7.5.5.
  • Na razie nie odnotowano publicznych ataków, ale eksploatacja jest technicznie prosta.
  • Szczególnie podatne są usługi na Google Cloud, Firebase oraz te używające gRPC.

Konsekwencje dla biznesu

Jeśli atakujący skompromituje jedno źródło schematów, będzie mógł:

  • Uzyskać dostęp do tokenów i danych użytkowników.
  • Wniknąć do wewnętrznych usług.
  • Ukraść poufne informacje.

Biorąc pod uwagę popularność protobuf.js, atak może dotknąć tysiące firm. Deweloperzy muszą pilnie zaktualizować bibliotekę i sprawdzić wszystkie zależności, szczególnie te ładujące schematy z zewnętrznych źródeł.

Zalecenia

  • Natychmiast zaktualizować protobuf.js do wersji 8.0.1 lub 7.5.5.
  • Sprawdzić wszystkie projekty pod kątem ukrytych zależności od podatnych wersji.
  • Przejrzeć miejsca, w których aplikacja ładuje pliki schematów z zewnętrznych źródeł.
  • Rozważyć walidację schematów przed załadowaniem.
  • Używać mechanizmów kontroli integralności dla ładowanych plików.

— Editorial Team

Google AdInline article slot
Advertisement 728x90

Czytaj dalej