Jump to content

  • Log In with Google      Sign In   
  • Create Account


#ActualDave Weinstein

Posted 05 June 2013 - 09:27 AM

void Dispatch( Message &message )
{ 
      if ( NULL != m_packetHandlers[ message.id ] )
            m_packetHandlers[ message.id ]->ProcessMessage( message );
}

This is extraordinarily dangerous. The message is coming over UDP, it is completely untrusted, and you are not validating the message ID as being within the range of valid message handlers. As an attacker, this makes compromise of the machine almost trivial.


#1Dave Weinstein

Posted 05 June 2013 - 09:26 AM

void Dispatch( Message &message )    {        if ( NULL != m_packetHandlers[ message.id ] )            m_packetHandlers[ message.id ]->ProcessMessage( message );    }

This is extraordinarily dangerous. The message is coming over UDP, it is completely untrusted, and you are not validating the message ID as being within the range of valid message handlers. As an attacker, this makes compromise of the machine almost trivial.

PARTNERS