Rahul Sharma (Editor)

Broker injection

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

Broker injection attack is a type of vulnerability that exploits misconfigured brokers, potentially allowing an attacker to read, write and inject information from/into their flow.

Contents

Description

There are lots of scenarios in which a broker is used to transport the information between task.

One of the most typical use cases is send e-mails in background. In this scenario we'll have two actors:

  • An information producer (a website, for example).
  • A worker or background process who actually sends the e-mail.
  • The producer needs an asynchronous and non-blocking way to send the email information to the worker.

    This system is usually a broker. It takes the information from the web front-end and passes it to the worker, generating a new task in the worker. So, the worker has all the information to send the e-mail.

    Taking the above scenario as an example, if we could access the broker, we would be able to make the worker generate new tasks with arbitrary data, unleashing a broker injection.

    Attacks

    With this in mind, we could make the following attacks:

  • Listing remote tasks.
  • Reading a remote task's contents.
  • Injection of tasks into remote processes.
  • Removing remote outstanting tasks.
  • Origin

    The broker injection attack is not new, but it didn't has name. This name was coined by Daniel GarcĂ­a at the RootedCON 2016 conference in Spain.

    References

    Broker injection Wikipedia