CVE-2014-3577 Improper Verification of Cryptographic Signature in org.apache.httpcomponents:httpclient

Medium 5.8 Published Updated

Man-in-the-middle attackers can spoof SSL servers by exploiting improper hostname verification in Apache HttpComponents HttpClient.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2014-3577?

CVE-2014-3577 is a medium-severity vulnerability in n/a, published on 21 Aug 2014. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

org.apache.http.conn.ssl.AbstractVerifier in Apache HttpComponents HttpClient before 4.3.5 and HttpAsyncClient before 4.0.2 does not properly verify that the server hostname matches a domain name in the subject's Common Name (CN) or subjectAltName field of the X.509 certificate, which allows man-in-the-middle attackers to spoof SSL servers via a "CN=" string in a field in the distinguished name (DN) of a certificate, as demonstrated by the "foo,CN=www.apache.org" string in the O field.

Which versions are affected by CVE-2014-3577?

2 open source packages ship an affected version, including org.apache.httpcomponents:httpclient. It affects 2 products.

PackageAffectedFixed in
org.apache.httpcomponents:httpclient MavenAll versions4.3.5
org.apache.httpcomponents:httpclient MavenAll versions4.3.5
Linux distribution packages (38)
jakarta-commons-httpclient Red Hat:enterprise_linux:5::clientAll versions1:3.0-7jpp.4.el5_10
jakarta-commons-httpclient-debuginfo Red Hat:enterprise_linux:5::clientAll versions1:3.0-7jpp.4.el5_10
jakarta-commons-httpclient Red Hat:enterprise_linux:5::client_workstationAll versions1:3.0-7jpp.4.el5_10
jakarta-commons-httpclient-debuginfo Red Hat:enterprise_linux:5::client_workstationAll versions1:3.0-7jpp.4.el5_10
jakarta-commons-httpclient-demo Red Hat:enterprise_linux:5::client_workstationAll versions1:3.0-7jpp.4.el5_10
jakarta-commons-httpclient-javadoc Red Hat:enterprise_linux:5::client_workstationAll versions1:3.0-7jpp.4.el5_10
jakarta-commons-httpclient-manual Red Hat:enterprise_linux:5::client_workstationAll versions1:3.0-7jpp.4.el5_10
jakarta-commons-httpclient Red Hat:enterprise_linux:5::serverAll versions1:3.0-7jpp.4.el5_10
jakarta-commons-httpclient-debuginfo Red Hat:enterprise_linux:5::serverAll versions1:3.0-7jpp.4.el5_10
jakarta-commons-httpclient-demo Red Hat:enterprise_linux:5::serverAll versions1:3.0-7jpp.4.el5_10
jakarta-commons-httpclient-javadoc Red Hat:enterprise_linux:5::serverAll versions1:3.0-7jpp.4.el5_10
jakarta-commons-httpclient-manual Red Hat:enterprise_linux:5::serverAll versions1:3.0-7jpp.4.el5_10
jakarta-commons-httpclient Red Hat:enterprise_linux:6::clientAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient-debuginfo Red Hat:enterprise_linux:6::clientAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient-demo Red Hat:enterprise_linux:6::clientAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient-javadoc Red Hat:enterprise_linux:6::clientAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient-manual Red Hat:enterprise_linux:6::clientAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient Red Hat:enterprise_linux:6::computenodeAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient-debuginfo Red Hat:enterprise_linux:6::computenodeAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient-demo Red Hat:enterprise_linux:6::computenodeAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient-javadoc Red Hat:enterprise_linux:6::computenodeAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient-manual Red Hat:enterprise_linux:6::computenodeAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient Red Hat:enterprise_linux:6::serverAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient-debuginfo Red Hat:enterprise_linux:6::serverAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient-demo Red Hat:enterprise_linux:6::serverAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient-javadoc Red Hat:enterprise_linux:6::serverAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient-manual Red Hat:enterprise_linux:6::serverAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient Red Hat:enterprise_linux:6::workstationAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient-debuginfo Red Hat:enterprise_linux:6::workstationAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient-demo Red Hat:enterprise_linux:6::workstationAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient-javadoc Red Hat:enterprise_linux:6::workstationAll versions1:3.1-0.9.el6_5
jakarta-commons-httpclient-manual Red Hat:enterprise_linux:6::workstationAll versions1:3.1-0.9.el6_5
httpcomponents-client Red Hat:enterprise_linux:7::clientAll versions0:4.2.5-5.el7_0
httpcomponents-client-javadoc Red Hat:enterprise_linux:7::clientAll versions0:4.2.5-5.el7_0
jakarta-commons-httpclient Red Hat:enterprise_linux:7::clientAll versions1:3.1-16.el7_0
jakarta-commons-httpclient-demo Red Hat:enterprise_linux:7::clientAll versions1:3.1-16.el7_0
jakarta-commons-httpclient-javadoc Red Hat:enterprise_linux:7::clientAll versions1:3.1-16.el7_0
jakarta-commons-httpclient-manual Red Hat:enterprise_linux:7::clientAll versions1:3.1-16.el7_0

Products include Apache Httpasyncclient, Apache Httpclient.

How do I fix CVE-2014-3577?

Upgrade org.apache.httpcomponents:httpclient to 4.3.5 or later.

Is CVE-2014-3577 being exploited?

There is no known exploitation of CVE-2014-3577 in the wild and no public exploit code.

Sources

Also known as DEBIAN-CVE-2014-3577, GHSA-cfh5-3ghh-wfjx, RHSA-2014:1082, RHSA-2014:1146, RHSA-2014:1166, UBUNTU-CVE-2014-3577.

Is CVE-2014-3577 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free