Search
Find a vulnerability
Search criteria
2 vulnerabilities by godotsteam
CVE-2026-123017 (GCVE-0-2026-123017)
Vulnerability from nvd – Published: 2026-11-05 06:17 – Updated: 2026-11-05 06:17
VLAI
EPSS
VEX
Summary
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.
Severity
6.5 (Medium)
CWE
- CWE-290 - Authentication Bypass by Spoofing
Assigner
References
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| godotsteam | GodotSteam |
Affected:
4.17.0 , ≤ 4.23.2
(semver)
|
{
"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\u0027s 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.\u003cbr\u003e"
}
],
"value": "A Godot game whose multiplayer transport is GodotSteam\u0027s 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": {
"dateUpdated": "2026-11-05T06:17:04.908Z",
"orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
"shortName": "mitre"
},
"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\u0027s 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\u0027s 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"
}
}
},
"cveMetadata": {
"assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
"assignerShortName": "mitre",
"cveId": "CVE-2026-123017",
"datePublished": "2026-11-05T06:17:04.908Z",
"dateReserved": "2026-11-05T06:17:04.506Z",
"dateUpdated": "2026-11-05T06:17:04.908Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-123017 (GCVE-0-2026-123017)
Vulnerability from cvelistv5 – Published: 2026-11-05 06:17 – Updated: 2026-11-05 06:17
VLAI
EPSS
VEX
Summary
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.
Severity
6.5 (Medium)
CWE
- CWE-290 - Authentication Bypass by Spoofing
Assigner
References
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| godotsteam | GodotSteam |
Affected:
4.17.0 , ≤ 4.23.2
(semver)
|
{
"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\u0027s 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.\u003cbr\u003e"
}
],
"value": "A Godot game whose multiplayer transport is GodotSteam\u0027s 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": {
"dateUpdated": "2026-11-05T06:17:04.908Z",
"orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
"shortName": "mitre"
},
"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\u0027s 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\u0027s 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"
}
}
},
"cveMetadata": {
"assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
"assignerShortName": "mitre",
"cveId": "CVE-2026-123017",
"datePublished": "2026-11-05T06:17:04.908Z",
"dateReserved": "2026-11-05T06:17:04.506Z",
"dateUpdated": "2026-11-05T06:17:04.908Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}