Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SECURITY] Use HTTPS to resolve dependencies in Maven Build #22

Closed
wants to merge 903 commits into from
Closed

[SECURITY] Use HTTPS to resolve dependencies in Maven Build #22

wants to merge 903 commits into from

Conversation

JLLeitschuh
Copy link

mitm_build


This is a security fix for a vulnerability in your Apache Maven pom.xml file(s).

The build files indicate that this project is resolving dependencies over HTTP instead of HTTPS.
This leaves your build vulnerable to allowing a Man in the Middle (MITM) attackers to execute arbitrary code on your or your computer or CI/CD system.

This vulnerability has a CVSS v3.0 Base Score of 8.1/10.

POC code has existed since 2014 to maliciously compromise a JAR file in-flight.
MITM attacks against HTTP are increasingly common, for example Comcast is known to have done it to their own users.

This contribution is a part of a submission to the GitHub Security Lab Bug Bounty program.

Detecting this and Future Vulnerabilities

This vulnerability was automatically detected by LGTM.com using this CodeQL Query.

As of September 2019 LGTM.com and Semmle are officially a part of GitHub.

You can automatically detect future vulnerabilities like this by enabling the free (for open-source) LGTM App.

I'm not an employee of GitHub nor of Semmle, I'm simply a user of LGTM.com and an open-source security researcher.

Source

Yes, this contribution was automatically generated, however, the code to generate this PR was lovingly hand crafted to bring this security fix to your repository.

The source code that generated and submitted this PR can be found here:
JLLeitschuh/bulk-security-pr-generator

Opting-Out

If you'd like to opt-out of future automated security vulnerability fixes like this, please consider adding a file called
.github/GH-ROBOTS.txt to your repository with the line:

User-agent: JLLeitschuh/bulk-security-pr-generator
Disallow: *

This bot will respect the ROBOTS.txt format for future contributions.

Alternatively, if this project is no longer actively maintained, consider archiving the repository.

CLA Requirements

This section is only relevant if your project requires contributors to sign a Contributor License Agreement (CLA) for external contributions.

It is unlikely that I'll be able to directly sign CLAs. However, all contributed commits are already automatically signed-off.

The meaning of a signoff depends on the project, but it typically certifies that committer has the rights to submit this work under the same license and agrees to a Developer Certificate of Origin
(see https://developercertificate.org/ for more information).

- Git Commit Signoff documentation

If signing your organization's CLA is a strict-requirement for merging this contribution, please feel free to close this PR.

Tracking

All PR's generated as part of this fix are tracked here:
JLLeitschuh/bulk-security-pr-generator#2

Lin Quan Jiang and others added 30 commits July 4, 2011 12:10
…asspath we look at annotated classes from

git-svn-id: https://svn.apache.org/repos/asf/geronimo/xbean/trunk@1144600 13f79535-47bb-0310-9956-ffa450edef68
…e type for individual urls

also tweak AnnotationFinder so it can return the Archive


git-svn-id: https://svn.apache.org/repos/asf/geronimo/xbean/trunk@1147744 13f79535-47bb-0310-9956-ffa450edef68
…under Java 5 as the pom indicates it should

XBEAN-185: XBean is not Java 5 compatible
Thanks, Robert and Peter!
Some tweaks by me.


git-svn-id: https://svn.apache.org/repos/asf/geronimo/xbean/trunk@1165841 13f79535-47bb-0310-9956-ffa450edef68
…entry) and update bundle plugin version

git-svn-id: https://svn.apache.org/repos/asf/geronimo/xbean/trunk@1183025 13f79535-47bb-0310-9956-ffa450edef68
… [2.5,3) which does not allow the bundle to work with spring 3.x

git-svn-id: https://svn.apache.org/repos/asf/geronimo/xbean/trunk@1198799 13f79535-47bb-0310-9956-ffa450edef68
XBEAN-196: Meta Annotation Support for Method and Constructor Parameters


git-svn-id: https://svn.apache.org/repos/asf/geronimo/xbean/trunk@1212074 13f79535-47bb-0310-9956-ffa450edef68
…ong separator for JarArchives

Thank you, Mart!


git-svn-id: https://svn.apache.org/repos/asf/geronimo/xbean/trunk@1212079 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/geronimo/xbean/trunk@1215551 13f79535-47bb-0310-9956-ffa450edef68
rmannibucau and others added 23 commits October 3, 2018 07:02
…k or not some annotations and to track or not classes without annotations

git-svn-id: https://svn.apache.org/repos/asf/geronimo/xbean/trunk@1856344 13f79535-47bb-0310-9956-ffa450edef68
This fixes a security vulnerability in this project where the `pom.xml`
files were configuring Maven to resolve dependencies over HTTP instead of
HTTPS.

Signed-off-by: Jonathan Leitschuh <[email protected]>
@pjfanning
Copy link

@JLLeitschuh
Copy link
Author

Have you checked all the POM files?

@pjfanning
Copy link

I can't find any pom.xml files that define custom <repository> entries (in trunk).

@splatch
Copy link

splatch commented Apr 4, 2022

Probably you need to make a completely fresh build (-Dmaven.repo.local=target/m2) and then seek repository element with insecure uri. One of transient dependencies might list an extra repo which you do not notice, but which gets then used for whole reactor.

@JLLeitschuh
Copy link
Author

Closing. Thanks all!

@JLLeitschuh JLLeitschuh closed this Apr 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.