Pascal Bach created THRIFT-3930:
-----------------------------------

             Summary: C++ JSON protocol gets unresponsive when feed with 
invalid data
                 Key: THRIFT-3930
                 URL: https://issues.apache.org/jira/browse/THRIFT-3930
             Project: Thrift
          Issue Type: Bug
          Components: C++ - Library
    Affects Versions: 0.9.3
         Environment: Linux armv7
            Reporter: Pascal Bach


When I send invalid data to service via TJSONProtocol it gets unresponsive 
until all the data is processed.

When I send for example the following string via POST:
{{[1,"0123456789",1,0,{"1":{"str":"0123456789"}}]0123456789"}}

The server responds with:
{{[1,"0123456789",3,0,{"1":{"str":"Invalid method name: 
'0123456789'"},"2":{"i32":1}}]}}

On the server side I get messages like:
{{Thrift: Fri Jan  1 00:10:52 2010 TConnectedClient protocol exception: 
Expected '['; got '6'.}}
This messages keep coming long after the response was already received.

If multiple requests like the ones above are made the server is blocked for a 
long time doing nothing but printing the above mentioned messages.
This allows to easily do denial of service towards the server.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to