Unity: Krytyczna luka bezpieczeństwa. Gry usunięte ze sklepów, deweloperzy muszą natychmiast reagować
Firma Unity poinformowała o wykryciu poważnej luki w swoim silniku, obecnej w wersjach od 2017.1 wzwyż. Problem dotyczy aplikacji i gier na Androida, Windows, macOS oraz Linux i może pozwolić na uruchamianie złośliwego kodu w obrębie aplikacji.
Co prawda nie ma dowodów na to, że luka została kiedykolwiek wykorzystana, jednak Unity apeluje do twórców o natychmiastowe działania.
Luka o wysokiej wadze
Podatność została zgłoszona 4 czerwca tego roku przez badacza z GMO Flatt Security, a poprawka trafiła do użytkowników 2 października. Luka sprawia, że aplikacje oparte na Unity mogą być narażone na ataki typu "unsafe file loading" oraz "local file inclusion". W praktyce oznacza to ryzyko uruchomienia nieautoryzowanego kodu lub uzyskania dostępu do lokalnych plików w ramach uprawnień aplikacji.
Unity oceniło zagrożenie jako poważne i nadało mu wynik 8,4 w skali CVSS, gdzie 10 oznacza maksymalne ryzyko. Firma podkreśla jednak, że do tej pory nie zarejestrowano przypadków wykorzystania podatności ani incydentów dotyczących użytkowników czy klientów.
Jak wyjaśnia odkrywca luki, problem wynika z niebezpiecznej obsługi argumentów wiersza poleceń w aplikacjach Unity, co w niektórych przypadkach pozwala na wczytanie i uruchomienie zewnętrznych bibliotek systemowych.
Ta luka pozwala na przejęcie kontroli nad argumentami przekazywanymi do aplikacji Unity, co umożliwia atakującym wczytanie dowolnych bibliotek i wykonanie złośliwego kodu, w zależności od platformy.
Unity zaznacza, że potencjalne skutki ograniczają się do poziomu uprawnień samej aplikacji, a nie systemu operacyjnego. Niemniej, podatność obejmuje wszystkie projekty stworzone od 2017 roku, co oznacza, że problem dotyczy tysięcy gier i aplikacji.
Jak się uchronić?
Firma radzi deweloperom, by jak najszybciej przebudowali swoje projekty w najnowszej wersji edytora Unity i opublikowali je ponownie. To najpewniejsze rozwiązanie, które eliminuje lukę w kodzie. Dla twórców, którzy z różnych względów nie mogą tego zrobić, przygotowano również specjalne narzędzie o nazwie Unity Application Patcher. Dzięki niemu można zabezpieczyć istniejące aplikacje na Windowsie, macOS i Androidzie. Narzędzie to jednak nie działa z projektami wyposażonymi w mechanizmy anti-cheat i nie jest dostępne dla systemu Linux.
W przypadku Linuksa Unity uznało ryzyko za niższe i nie wydało dedykowanego patchera. Zasugerowano jednak, by w środowiskach wymagających najwyższych standardów bezpieczeństwa przebudować aplikacje przy użyciu poprawionej wersji edytora.
Microsoft zaktualizował program Defender, aby rozpoznawał próby wykorzystania podatności, a Valve wdrożyło dodatkowe zabezpieczenia w kliencie Steam. Ponadto z cyfrowych sklepów tymczasowo wycofano szereg produkcji stworzonych na Unity: wśród nich znalazły się m.in. Grounded 2, Avowed, Pillars of Eternity, Pentiment, Wasteland 3 czy The Bard’s Tale Trilogy. Jak łatwo można się domyślić, wrócą po uzupełnieniu ich o odpowiednie łatki.
Grzegorz Karaś, redaktor pcformat.pl