Skip to content

Commit 698fd2d

Browse files
authored
Secure RpcMessage against SenderClientId spoofing
When a server receives an RpcMessage, it should update the SenderClientId to match the SenderId provided by the messaging manager. This is to prevent modified clients from spoofing their SenderClientId as other clients.
1 parent 47ed2dd commit 698fd2d

File tree

1 file changed

+6
-0
lines changed
  • com.unity.netcode.gameobjects/Runtime/Messaging/Messages

1 file changed

+6
-0
lines changed

com.unity.netcode.gameobjects/Runtime/Messaging/Messages/RpcMessages.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,12 @@ public unsafe bool Deserialize(FastBufferReader reader, ref NetworkContext conte
196196

197197
public void Handle(ref NetworkContext context)
198198
{
199+
var networkManager = (NetworkManager)context.SystemOwner;
200+
if (networkManager.IsServer)
201+
{
202+
SenderClientId = context.SenderId;
203+
}
204+
199205
var rpcParams = new __RpcParams
200206
{
201207
Ext = new RpcParams

0 commit comments

Comments
 (0)