W komponencie AutoExtract aplikacji Robocode 1.9.3.6 metoda createTempFile tworzy pliki tymczasowe w sposób niezabezpieczony, co umożliwia atakującemu wyścig o dostęp do pliku (race condition). Podatność może prowadzić do wykonania dowolnego kodu lub nadpisania krytycznych plików systemowych.
▸ Pokaż oryginał (EN)
An insecure temporary file creation vulnerability exists in the AutoExtract component of Robocode version 1.9.3.6. The createTempFile method fails to securely create temporary files, allowing attackers to exploit race conditions and potentially execute arbitrary code or overwrite critical files. This vulnerability can be exploited by manipulating the temporary file creation process, leading to potential unauthorized actions.
Luka wynika z nieprawidłowej implementacji tworzenia plików tymczasowych (CWE-377 — Insecure Temporary File). Między momentem sprawdzenia dostępności nazwy pliku tymczasowego a jego faktycznym utworzeniem istnieje okno czasowe, które atakujący może wykorzystać do podstawienia własnego pliku pod przewidywalną ścieżkę. Manipulując tym procesem, lokalny użytkownik o ograniczonych uprawnieniach może skłonić aplikację do odczytu lub zapisu podstawionego przez siebie pliku, co w konsekwencji może prowadzić do wykonania dowolnego kodu lub destrukcyjnego nadpisania plików.
Atakujący z lokalnym dostępem do systemu może wykonać dowolny kod w kontekście procesu Robocode lub nadpisać krytyczne pliki systemowe, potencjalnie uzyskując wyższe uprawnienia lub powodując uszkodzenie systemu.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Poprawka jest dostępna w ramach pull requestu w repozytorium projektu: https://github.com/robo-code/robocode/pull/68. Do czasu aktualizacji zaleca się ograniczenie dostępu lokalnego do systemów, na których uruchomiony jest Robocode.
Robocode w wersji 1.9.3.6 (komponent AutoExtract).
Podatność wymaga lokalnego dostępu do systemu (wektor AV:L), co ogranicza powierzchnię ataku do użytkowników posiadających konto na danym hoście. Wysoki wynik CVSS 9.3 uwzględnia jednak potencjalny wpływ na systemy zależne (SC:H, SI:H, SA:H).
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:Y/R:U/V:D/RE:M/U:RedRobocode
APPRobocode1.9.3.6
Powiązane podatności
Path Traversal w Robocode CacheCleaner — usuwanie dowolnych plików
Integer overflow w klasie Buffer Robocode umożliwiający RCE
Robocode through 1.9.3.5 allows remote attackers to cause external service interaction (DNS), as demonstrated ...
Robocode before 1.6.0 allows user-assisted remote attackers to "access the internals of the Robocode game" via...
The Event Dispatch Thread in Robocode before 1.5.1 allows remote attackers to execute arbitrary Java code by u...