[ 
https://issues.apache.org/jira/browse/AMQ-4258?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy Bish reassigned AMQ-4258:
---------------------------------

    Assignee: Hiram Chirino

@Hiram, can you take a look at this one. 
                
> Endless loop when received incorrect AMQP message
> -------------------------------------------------
>
>                 Key: AMQ-4258
>                 URL: https://issues.apache.org/jira/browse/AMQ-4258
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 5.8.0
>            Reporter: Robert Balent
>            Assignee: Hiram Chirino
>            Priority: Critical
>         Attachments: exception.txt, patch1.txt, patch2.txt
>
>
> When you send incorrect message to AMQP transform, it will stuck in endless 
> loop and write lot of error messages to console output.
> This way, you can send numbers of incorrect messages and ActiveMQ will create 
> new thread for each of them. This way can attacker create thousands of 
> threads in few minutes and completely overload server machine.
> Problem is in org.apache.activemq.transport.amqp.AmqpProtocolConverter class. 
> It throws exception(exception.txt) and loop never ends:
> Line 158:
> int count = protonTransport.input(frame.data, frame.offset, frame.length);
> Two solutions are possible:
> 1. Add "return" statement to catch block (patch1.txt).
> 2. Run "frame.moveHead(count);" in finally block with some default positive 
> count (patch2.txt)
> I would prefer the first variant.
> This happens when you try to send message from client with older version of 
> AMQP protocol.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to