Maven Security
Security Model
The purpose of Maven is to perform the actions defined in the supplied
pom.xml
, which commonly includes compiling and running the associated
code and using plugins and dependencies downloaded from the configured
repositories.
As such, the Maven security model assumes you trust the pom.xml
and
the code, dependencies and repositories that are used in your build.
If you want to use Maven to build untrusted code, it is up to you to
provide the required isolation.
Security Vulnerabilities
Please note that binary patches are not produced for individual vulnerabilities. To obtain the binary fix for a particular vulnerability you should upgrade to an Apache Maven version where that vulnerability has been fixed.
For more information about reporting vulnerabilities, see the Apache Security Team page.
CVE-2021-26291 Apache Maven 3.8.1
Severity: Medium
Vendor: The Apache Software Foundation
Versions Affected:
- Apache Maven 3.6.3 and earlier
Description: More and more repositories use HTTPS nowadays, but this hasn't always been the case. This means that Maven Central contains POMs with custom repositories that refer to a URL over HTTP.
This makes downloads via such repository a target for a MITM attack.
At the same time, developers are probably not aware that for some downloads an insecure URL is being used.
Because uploaded POMs to Maven Central are immutable, a change for Maven was required.
To solve this, we extended the mirror configuration with <blocked>
parameter,
and we added a new external:http:*
mirror selector (like existing external:*
), meaning “any external URL using HTTP”.
The decision was made to block such external HTTP repositories by default: this is done by providing a mirror in the conf/settings.xml
blocking insecure HTTP external URLs.
Note: this is a vulnerability in case you're connectioning directly to remote repositories instead of using an artifact repository manager.
Maven Dependency, EAR, Javadoc, WAR and Plugin Plugins
Severity: Low
Vendor: The Apache Software Foundation
Versions Affected:
- Maven Dependency Plugin 3.1.0 and earlier
- Maven EAR Plugin 3.0.0 and earlier
- Maven Javadoc Plugin 2.5 to 3.0.0
- Maven WAR Plugin 2.1-alpha-1 to 3.2.0
- Maven Plugin Plugin 3.0 to 3.5.1
Description: As part of a broader research, the Snyk Security Research Team discovered an arbitrary file write generic vulnerability, that can be achieved using a specially crafted zip (or bzip2, gzip, tar, xz, war) archive, that holds path traversal filenames. So when the filename gets concatenated to the target extraction directory, if the extraction tool used does not make sufficient checks, the final path ends up outside of the target directory. The affected plugins use plexus-archiver to unpack dependencies to disk and have been identified as potential triggers for exposing the vulnerability if dependencies are compromised.
See full description for more details.
Credit: This issue was identified by the Snyk Security Research Team
CVE-2013-0253 Apache Maven 3.0.4
Severity: Medium
Vendor: The Apache Software Foundation
Versions Affected:
- Apache Maven 3.0.4
- Apache Maven Wagon 2.1, 2.2, 2.3
Description: Apache Maven 3.0.4 (with Apache Maven Wagon 2.1) has introduced a non-secure SSL mode by default. This mode disables all SSL certificate checking, including: host name verification , date validity, and certificate chain. Not validating the certificate introduces the possibility of a man-in-the-middle attack.
All users are recommended to upgrade to Apache Maven 3.0.5 and Apache Maven Wagon 2.4.
Credit: This issue was identified by Graham Leggett
CVE-2012-6153 Apache Maven Wagon :: WebDAV Provider
Severity: Medium
Vendor: The Apache Software Foundation
Versions Affected:
- Apache Maven Wagon WebDAV Provider 2.12 and earlier
Description: http/conn/ssl/AbstractVerifier.java in Apache Commons HttpClient before 4.2.3 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 certificate with a subject that specifies a common name in a field that is not the CN field.
Users of this provider are recommended to upgrade to Apache Maven Wagon :: WebDAV Provider 3.0.0