Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-5299

[AMQP 1.0] ACL rules should be checked before checking node's existence and returning amqp:not-found error

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.25
    • 0.25
    • C++ Broker
    • None
    • Apache Qpid C++ broker, CentOS

    Description

      When a client is connecting with AMQP 1.0 to the C++ broker and the node from which it wants to consume messages doesn't exist, the broker throws an amqp:not-found error even when ACL rules deny the user to access or publish from the given node (queue).

      This problem might to some extent exist also with AMQP 0.10. But the Qpid AMQP 0.10 clients always query the existence of a queue/exchange before connecting to it and the QueueQuery / QueueDeclare calls are ACL protected, so the Qpid based AMQP 0.10 client always receives the ACL error before the not-found error. But I guess if you skip the QueueQuery / QueueDeclare and go directly to MessageSubscribe the same problem as with AMQP 1.0 might exist in AMQP 0.10 as well.

      For a security reasons, I would assume that the ACL check for access or publish rules should be done before revealing that the queue doesn't exist. The broker should not reveal any details about its configuration if the ACL rights don't allow it.

      Attachments

        Activity

          People

            gsim Gordon Sim
            scholzj Jakub Scholz
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: