CVE-2026-19874
CriticalCVSS 9.1Summary
A heap-based buffer overflow vulnerability exists in Konami's Metal Gear Online 3, caused by improper validation of lobby data fields related to kicked players. The function processes a list of kicked player identifiers using the "kick_num" key without validating its bounds, allowing an attacker to supply an oversized value and overwrite adjacent memory structures, including Steam callback handlers. Successful exploitation may enable control-flow hijacking and arbitrary code execution within the game process.
Risk Assessment
The risk includes potential remote code execution within the game process, which could lead to full system compromise or server takeover. An attacker could leverage this to deploy malware or steal sensitive data.
Recommendation
Apply vendor-provided patches immediately and restrict access to game lobbies for untrusted players. Monitor security advisories for Metal Gear Online 3 for further updates.
Original NVD description (English source)
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.

