{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-123017","assignerOrgId":"8254265b-2729-46b6-b9e3-3dfca2d5bfca","state":"PUBLISHED","assignerShortName":"mitre","dateReserved":"2026-11-05T06:17:04.506Z","datePublished":"2026-11-05T06:17:04.908Z","dateUpdated":"2026-11-05T22:05:46.734Z"},"containers":{"cna":{"affected":[{"defaultStatus":"unknown","modules":["SteamMultiplayerPeer"],"product":"GodotSteam","programFiles":["src/godotsteam_multiplayer_peer.cpp","src/steam_packet_peer.cpp"],"programRoutines":[{"name":"SteamMultiplayerPeer::upgrade_peer"},{"name":"SteamPacketPeer::set_peer_id"}],"repo":"https://codeberg.org/godotsteam/godotsteam","vendor":"godotsteam","versions":[{"lessThanOrEqual":"4.23.2","status":"affected","version":"4.17.0","versionType":"semver"}]}],"configurations":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"A Godot game whose multiplayer transport is GodotSteam's SteamMultiplayerPeer (create_host, host_with_lobby, or connect_to_lobby), in a session the attacker can join: a public or joinable lobby, matchmaking, or an open dedicated server. Games using only achievements, input, or leaderboards, and games on the ENet or WebSocket transports, are not exposed.<br>"}],"value":"A Godot game whose multiplayer transport is GodotSteam's SteamMultiplayerPeer (create_host, host_with_lobby, or connect_to_lobby), in a session the attacker can join: a public or joinable lobby, matchmaking, or an open dedicated server. Games using only achievements, input, or leaderboards, and games on the ENet or WebSocket transports, are not exposed."}],"descriptions":[{"lang":"en","value":"GodotSteam 4.17 through 4.23.2 trusts the peer value of 1 to mean that a player is the server. A grant_gold(1000000) call can be forged."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"LOW","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","version":"3.1"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-290","description":"CWE-290 Authentication Bypass by Spoofing","lang":"en","type":"CWE"}]}],"providerMetadata":{"orgId":"8254265b-2729-46b6-b9e3-3dfca2d5bfca","shortName":"mitre","dateUpdated":"2026-11-05T06:17:04.908Z"},"references":[{"url":"https://axeghost.offprint.app/a/3mzhxoqpnh423-any-networked-co-player-can-act-as-the-server-in-a-godotsteam-game"},{"url":"https://github.com/bitbutter/godot-security-pocs/tree/main/2026-11-godotsteam-peer-id-claim"},{"url":"https://codeberg.org/godotsteam/godotsteam"},{"url":"https://www.openwall.com/lists/oss-security/2026/11/04/11"}],"workarounds":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"Game-side only: on the plugin's peer_connected signal for peer ID 1, compare Steam.get_steam_id_for_peer_id(1) with the expected server Steam ID (the lobby owner, or the ID passed to create_client) and close the multiplayer peer on a mismatch. The guard ships in the reproduction kit. No plugin setting rejects a false claim."}],"value":"Game-side only: on the plugin's peer_connected signal for peer ID 1, compare Steam.get_steam_id_for_peer_id(1) with the expected server Steam ID (the lobby owner, or the ID passed to create_client) and close the multiplayer peer on a mismatch. The guard ships in the reproduction kit. No plugin setting rejects a false claim."}],"x_generator":{"engine":"CVE-Request-form 0.0.1"}},"adp":[{"title":"CVE Program Container","references":[{"url":"http://www.openwall.com/lists/oss-security/2026/11/05/5"}],"providerMetadata":{"orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE","dateUpdated":"2026-11-05T22:05:46.734Z"}}]}}