Skip to content

Fix duplicateExit authorization bypass#317

Open
kwsantiago wants to merge 1 commit intoOpenFusionProject:masterfrom
kwsantiago:fix/duplicate-exit-auth-bypass
Open

Fix duplicateExit authorization bypass#317
kwsantiago wants to merge 1 commit intoOpenFusionProject:masterfrom
kwsantiago:fix/duplicate-exit-auth-bypass

Conversation

@kwsantiago
Copy link

Summary

duplicateExit allows any connected client to force-disconnect any other player by sending a P_CL2LS_REQ_PC_EXIT_DUPLICATE packet with an arbitrary username. The handler looks up the account by the provided name and calls exitDuplicate() without verifying that the requesting socket actually owns that account.

This adds a check that the requesting socket's login session matches the account being exited.

What changed

  • Verify loginSessions[sock].userID == account.AccountID before calling exitDuplicate()
  • Remove the TODO comment (this was the fix it needed)

Impact

Without this fix, any authenticated client can kick any other player off the login server by name.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant