sourcerer-io / sourcerer-app

🦄 Sourcerer app makes a visual profile from your GitHub and git repositories.
https://sourcerer.io/start
MIT License
6.74k stars 280 forks source link

[SECURITY] Releases are built/executed/released in the context of insecure/untrusted code #478

Closed JLLeitschuh closed 5 years ago

JLLeitschuh commented 5 years ago

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

https://github.com/sourcerer-io/sourcerer-app/blob/857c0a0ba4f4efbca1cdcf1500efdc834ef2cadf/build.gradle#L89

sergey48k commented 5 years ago

thanks @JLLeitschuh !

JLLeitschuh commented 5 years ago

@sergey48k This should probably have a followup, either auditing if there was any compromise of this app, or a CVE should be issued.

If you want to audit, you can use this tool to compare JAR files: https://reproducible-builds.org/tools/