Description
The Apache Qpid Proton-J transport includes an optional wrapper layer to perform TLS, enabled by use of the 'transport.ssl(...)' methods. Unless a verification mode was explicitly configured, client and server modes previously defaulted as documented to not verifying a peer certificate, with options to configure this explicitly or select a certificate verification mode with or without hostname verification being performed. The latter hostname verifying mode was not implemented in Apache Qpid Proton-J versions 0.3 to 0.29.0, with attempts to use it resulting in an exception. This left only the option to verify the certificate is trusted, leaving such a client vulnerable to Man In The Middle (MITM) attack. Uses of the Proton-J protocol engine which do not utilise the optional transport TLS wrapper are not impacted, e.g. usage within Qpid JMS. Uses of Proton-J utilising the optional transport TLS wrapper layer that wish to enable hostname verification must be upgraded to version 0.30.0 or later and utilise the VerifyMode#VERIFY_PEER_NAME configuration, which is now the default for client mode usage unless configured otherwise.
Remediation
References
https://qpid.apache.org/cves/CVE-2018-17187.html
https://mail-archives.apache.org/mod_mbox/qpid-users/201811.mbox/%3CCAFitrpQSV73Vz7rJYfLJK7gvEymZSCR5ooWUeU8j4jzRydk-eg%40mail.gmail.com%3E
https://issues.apache.org/jira/browse/PROTON-1962
http://www.securityfocus.com/bid/105935
Related Vulnerabilities
CVE-2019-1003021 Vulnerability in maven package org.jenkins-ci.plugins:oic-auth
CVE-2022-28366 Vulnerability in maven package org.codelibs:nekohtml
CVE-2021-39151 Vulnerability in maven package com.thoughtworks.xstream:xstream
CVE-2021-21160 Vulnerability in maven package org.webjars.npm:electron
CVE-2023-37909 Vulnerability in maven package org.xwiki.platform:xwiki-platform-menu-ui