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][CVE-2019-10248] Releases are built/executed/released in the context of insecure/untrusted code #1434

Closed
JLLeitschuh opened this issue Mar 26, 2019 · 11 comments
Milestone

Comments

@JLLeitschuh
Copy link

CWE-829: Inclusion of Functionality from Untrusted Control Sphere
CWE-494: Download of Code Without Integrity Check

The build files indicate that this project is resolving dependencies over HTTP instead of HTTPS. Any of these artifacts could have been MITM to maliciously compromise them and infect the build artifacts that were produced. Additionally, if any of these JARs or other dependencies were compromised, any developers using these could continue to be infected past updating to fix this.

This vulnerability has a CVSS v3.0 Base Score of 8.1/10
https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

This isn't just theoretical

POC code has existed since 2014 to maliciously compromise a JAR file inflight.
See:

MITM Attacks Increasingly Common

See:

Source Locations

  • vorto/pom.xml

    Lines 105 to 114 in a48e4c2

    <repository>
    <id>eclipse</id>
    <layout>p2</layout>
    <url>http://download.eclipse.org/releases/2018-12/</url>
    </repository>
    <repository>
    <id>Xtext Update Site</id>
    <layout>p2</layout>
    <url>http://download.eclipse.org/modeling/tmf/xtext/updates/releases/${xtext.version}/</url>
    </repository>

Original Report

https://bugs.eclipse.org/bugs/show_bug.cgi?id=544852

This was originally responsibly disclosed privately, but I was asked to make it public by @waynebeaton.

Public Disclosure

Option 1: File for a CVE

A project maintainer for this project should probably file for a CVE number to inform the public about this vulnerability in the build for this project. The goal is to inform the public that there was a potential for published build artifacts to have been maliciously compromised in earlier releases.

If a maintainer on this project works for or is associated with a CNA, please have them file it with them:
cve.mitre.org/cve/request_id.html

Otherwise, an open source CVE should be filed for here:
iwantacve.org

Option 2: Manually validate the release artifacts

If this project's build is fully reproducible. An alternative to filing for a CVE is to go back and build the earlier releases (with the HTTPS patch applied) to confirm the artifacts were not tampered when they were built. This can be done by comparing the hashes of the artifacts built locally with the ones published. If the hashes of all previous artifacts match those that are published, you can safely assume that the releases were not tampered with.

Again, this assumes that the build if fully reproducible and will require significantly more work.

@aedelmann aedelmann added this to To do in 0.11 (05.2019) Mar 27, 2019
vlvanchin pushed a commit to bosch-io/vorto that referenced this issue Mar 27, 2019
Signed-off-by: vlvanchin <vanchinathan.lokanathan@bosch-si.com>
@aedelmann aedelmann moved this from To do to In progress in 0.11 (05.2019) Mar 28, 2019
vlvanchin pushed a commit to bosch-io/vorto that referenced this issue Mar 29, 2019
Signed-off-by: vlvanchin <vanchinathan.lokanathan@bosch-si.com>
vlvanchin pushed a commit to bosch-io/vorto that referenced this issue Apr 2, 2019
Signed-off-by: vlvanchin <vanchinathan.lokanathan@bosch-si.com>
@aedelmann aedelmann moved this from In progress to Done in 0.11 (05.2019) Apr 2, 2019
@JLLeitschuh
Copy link
Author

Were previous releases re-built to ensure there wasn't compromise or should a CVE number be requested?

@aedelmann
Copy link
Contributor

Hi @JLLeitschuh
our releases are available on maven central and we did not re-built them.
We would need to file a CVE. What you do that or us ?

@aedelmann aedelmann reopened this Apr 4, 2019
@JLLeitschuh
Copy link
Author

JLLeitschuh commented Apr 4, 2019

I'm pretty busy.
If you or your team has the opportunity to file, that would be awesome. If not, let me know and I'll try to do it tomorrow.

Here is a similar CVE for Eclipse Hawkbit

eclipse/hawkbit#812 (comment)
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10240
https://bugs.eclipse.org/bugs/show_bug.cgi?id=546053

@JLLeitschuh
Copy link
Author

@aedelmann Do you want me to file for the CVE number?

CC: @waynebeaton

@aedelmann
Copy link
Contributor

Hi @JLLeitschuh
Yes, That would be very helpful. Thanks!

@JLLeitschuh
Copy link
Author

@aedelmann Can you let me know what released version this was first fixed in?

@aedelmann
Copy link
Contributor

Hi @JLLeitschuh
We are preparing the release 0.11 which will contain the fix. We will be publishing it in the next 1-2 weeks.

@JLLeitschuh
Copy link
Author

@aedelmann I don't think I can submit the CVE request. The eclipse foundation is a CNA. Please request a CVE from @waynebeaton using the eclipse bug tracker.

Here's an example for Hawkbit.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=546053

@aedelmann
Copy link
Contributor

@JLLeitschuh Ok, will try to do that next week.

@aedelmann
Copy link
Contributor

Hi @JLLeitschuh
I created an bugzilla issue to raise a CVE: https://bugs.eclipse.org/bugs/show_bug.cgi?id=546622

@aedelmann aedelmann removed this from Done in 0.11 (05.2019) Apr 23, 2019
@aedelmann aedelmann added this to the 0.10.1 milestone Apr 23, 2019
@JLLeitschuh JLLeitschuh changed the title [SECURITY] Releases are built/executed/released in the context of insecure/untrusted code [SECURITY][CVE-2019-10248] Releases are built/executed/released in the context of insecure/untrusted code Apr 26, 2019
@JLLeitschuh
Copy link
Author

Just to link to the CVE for reference:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10248

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants