CVE-2026-19874
KrytyczneCVSS 9.1Streszczenie
W grze Metal Gear Online 3 firmy Konami występuje podatność przepełnienia bufora na stercie, wynikająca z nieprawidłowej walidacji pól danych lobby dotyczących wyrzuconych graczy. Funkcja przetwarzająca listę identyfikatorów wyrzuconych graczy używa klucza "kick_num" do określenia liczby wpisów, ale nie sprawdza, czy wartość ta mieści się w oczekiwanych granicach. Atakujący może podać zawyżoną wartość "kick_num" i odpowiednie pola "kicked_id_%i", co prowadzi do zapisu poza zamierzony bufor i nadpisania struktur wywołań zwrotnych Steam, w tym wskaźników funkcji, co może umożliwić przejęcie przepływu sterowania i wykonanie dowolnego kodu w procesie gry.
Ocena ryzyka
Ryzyko obejmuje możliwość zdalnego wykonania kodu w procesie gry, co może prowadzić do przejęcia kontroli nad systemem gracza lub serwerem gry. Atakujący może wykorzystać tę podatność do uruchomienia złośliwego oprogramowania lub kradzieży danych.
Rekomendacja
Zaleca się natychmiastowe zastosowanie poprawek dostarczonych przez producenta oraz ograniczenie dostępu do lobby gry dla niezaufanych graczy. Należy również monitorować komunikaty o nowych aktualizacjach bezpieczeństwa dla Metal Gear Online 3.
Oryginalny opis (angielski, źródło NVD)
A heap-based buffer overflow vulnerability exists in Konami's Metal Gear Online 3, originating from improper validation of lobby data fields related to kicked players. The affected function processes a list of kicked player identifiers using the lobby data key "kick_num" to determine the number of entries, and individual kicked player IDs supplied via keys in the format "kicked_id_%i". The function does not validate that "kick_num" falls within the expected bounds. The game design limits matches to a maximum of 16 players, and the corresponding buffer for storing kicked player IDs is sized accordingly. If "kick_num" exceeds this limit, the function continues writing the provided player IDs past the end of the intended buffer and into adjacent memory regions. These adjacent regions contain Steam callback handler structures responsible for processing lobby data updates, lobby messages, and other related events. By supplying an oversized "kick_num" value and appropriate "kicked_id_%i" fields, an attacker can overwrite fields within the callback handler structures, including function pointers and callback argument values. Successful exploitation may enable control-flow hijacking, potentially allowing arbitrary code execution within the game process.

