Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-3961

TConnectedClient does not terminate the connection to the client if an exception while processing the received message occures.

VotersStop watchingWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.9.3
    • 0.10.0
    • C++ - Library
    • Patch Available
    • Patch

    Description

      The server should disconnect from the client, if the client sends invalid messages to the server instead of throwing exception for every byte.

      $ bin/TestServer --protocol=json --transport=http --server-type=thread-pool --port=9080
      Starting "thread-pool" server (http/json) listen on: 9080
      Thrift: Tue Nov  8 15:10:53 2016 TConnectedClient processing exception: Expected '['; got '1'.
      Thrift: Tue Nov  8 15:10:53 2016 TConnectedClient processing exception: Expected '['; got '2'.
      Thrift: Tue Nov  8 15:10:53 2016 TConnectedClient processing exception: Expected '['; got '3'.
      Thrift: Tue Nov  8 15:10:53 2016 TConnectedClient processing exception: Expected '['; got '4'.
      Thrift: Tue Nov  8 15:10:53 2016 TConnectedClient processing exception: Expected '['; got '5'.
      Thrift: Tue Nov  8 15:10:53 2016 TConnectedClient processing exception: Expected '['; got '6'.
      Thrift: Tue Nov  8 15:10:53 2016 TConnectedClient processing exception: Expected '['; got '7'.
      Thrift: Tue Nov  8 15:10:53 2016 TConnectedClient processing exception: Expected '['; got '8'.
      Thrift: Tue Nov  8 15:10:53 2016 TConnectedClient processing exception: Expected '['; got '9'.
      Thrift: Tue Nov  8 15:10:53 2016 TConnectedClient processing exception: Expected '['; got '0'.
      

      when sending

      $ curl --data "1234567890" http://localhost:9080
      

      This behavior can easily be abused to DOS attack the server, by sending massive amounts of garbage to it.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            jking3 James E. King III
            cmhe Claudius Heine
            Votes:
            0 Vote for this issue
            Watchers:
            4 Stop watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment