Skip to main content

Spring Security Advisories

CVE-2018-11087: RabbitMQ (Spring-AMQP) Host name verification

CRITICAL | SEPTEMBER 11, 2018 | CVE-2018-11087

Description

spring-amqp, 1.x versions prior to 1.7.10, 2.x versions prior to 2.0.6 expose a man-in-the middle vulnerability.

The Spring RabbitMQ Java Client does not perform hostname validation.

This means that SSL certificates of other hosts are blindly accepted as long as they are trusted.

To exploit this vulnerability an attacker has to perform a man-in-the-middle (MITM) attack between a Java application using the Spring RabbitMQ Java Client and an RabbitMQ server it's connecting to.

TLS normally protects users and systems against MITM attacks, it cannot if certificates from other trusted hosts are accepted by the client.

Spring AMQP uses the RabbitMQ amqp-client java library for communication with RabbitMQ.

It uses the RabbitConnectionFactoryBean to create/configure the connection factory.

Affected Spring Products and Versions

  • Spring-AMQP versions prior to 1.7.10 and 2.0.6
  • RabbitMQ amqp-client versions prior to 4.8.0 and 5.4.0

Mitigation

Users of affected versions should apply the following mitigation:

  • Upgrade to the 1.7.10.RELEASE or 2.0.6.RELEASE and set the enableHostnameValidation property to true. Override the transitive amqp-client version to at least 4.8.0 and 5.4.0, respectively
  • The upcoming 2.1.0.RELEASE will set the property to true by default.
  • If you are using the amqp-client library directly to create a connection factory, refer to its javadocs for the enableHostnameValidation() method.

Credit

This issue was identified and responsibly reported by Peter Stöckli of Alphabot Security, Switzerland.

History

  • 2018-09-11: Initial vulnerability report published.

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Spring Runtime offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all

© 2023 VMware, Inc. or its affiliates. Terms of Use PrivacyTrademark Guidelines Your California Privacy Rights Cookie Settings

Apache®, Apache Tomcat®, Apache Kafka®, Apache Cassandra™, and Apache Geode™ are trademarks or registered trademarks of the Apache Software Foundation in the United States and/or other countries. Java™, Java™ SE, Java™ EE, and OpenJDK™ are trademarks of Oracle and/or its affiliates. Kubernetes® is a registered trademark of the Linux Foundation in the United States and other countries. Linux® is the registered trademark of Linus Torvalds in the United States and other countries. Windows® and Microsoft® Azure are registered trademarks of Microsoft Corporation. “AWS” and “Amazon Web Services” are trademarks or registered trademarks of Amazon.com Inc. or its affiliates. All other trademarks and copyrights are property of their respective owners and are only mentioned for informative purposes. Other names may be trademarks of their respective owners.