CVE-2026-19874: Konami's Metal Gear Online 3 contains a heap-based buffer overflow

Published Aug 24, 2026
·
Updated

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 "kicknum" to determine the number of entries, and individual kicked player IDs supplied via keys in the format "kickedid%i". The function does not validate that "kicknum" 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 "kicknum" 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 "kicknum" value and appropriate "kickedid%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.

Affected Software

1 affected component
Konami Metal Gear Online 3

Event History

Aug 24, 2026
CVE Published
via MITRE·03:02 PM
Data Sourced
via MITRE·03:02 PM
DescriptionWeakness
Data Sourced
via NVD·03:16 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which systems are exposed to this issue?

Game clients that process lobby data containing kicked-player fields are exposed. The vulnerable processing occurs when the client reads the lobby's "kick_num" value and associated "kicked_id_%i" entries.

2

What does an attacker need to provide to trigger the overflow?

The attacker needs to supply lobby data with a "kick_num" value greater than the expected maximum of 16, along with corresponding "kicked_id_%i" fields. The excessive count causes player IDs to be written beyond the buffer intended for 16 entries.

3

How can I identify suspicious or potentially malicious lobby data?

Check for a "kick_num" value exceeding 16, especially when the lobby also contains kicked-player identifier keys numbered beyond the expected range. Such data can overwrite adjacent Steam callback handler structures.

4

What is the potential security impact of exploitation?

The overflow can overwrite Steam callback handler structures used for lobby updates, lobby messages, and related events. This may allow an attacker to modify function pointers and callback arguments, potentially hijacking control flow.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203