Vulnerabilities in pkg:pypi/easybuild-framework

PACKAGE
Advisory Identifier: GHSA-2wx6-wc87-rmjm
Advisory Summary

CVE-2020-5262 is a CRITICAL (CVSS 7.7) github personal access token leaking vulnerability (CWE-532: Insertion of Sensitive Information into Log File) affecting Easybuild framework libraries in the PyPI ecosystem. The issue involves github personal access token leaking into temporary easybuild (debug) logs. Remediation is available by upgrading affected packages to version 4.1.2.

1 Known Advisory Record(s)
Package Vulnerability Intelligence

pkg:pypi/easybuild-framework

1 Known Advisory Record(s)

Vulnerability advisories affecting package pkg:pypi/easybuild-framework. Select an advisory below to view technical details or fixes.

Advisory ID CVE / NVD Severity Summary
GHSA-2wx6-wc87-rmjm CVE-2020-5262 CRITICAL GitHub personal access token leaking into temporary EasyBuild (debug) logs

CVE-2020-5262 at a Glance

CVE Identifier CVE-2020-5262
GHSA Identifier GHSA-2wx6-wc87-rmjm
Severity CRITICAL
CVSS v3.1 Base Score 7.7
CWE Classification CWE-532: Insertion of Sensitive Information into Log File
Affected Product Easybuild framework
Package Ecosystem PyPI
Published Date
Last Updated

Security Impact

CVSS: 7.7

The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N).

Attack Vector Local (AV:L)
Attack Complexity Low (AC:L)
Privileges Required None (PR:N)
User Interaction None (UI:N)
Scope Unchanged (S:U)
Confidentiality High (C:H)
Integrity High (I:H)
Availability None (A:N)

How to Fix CVE-2020-5262

To remediate this vulnerability, upgrade all affected Easybuild framework dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

easybuild-framework fixed: 4.1.2
pip install easybuild-framework>=4.1.2
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

pip show easybuild-framework

How to Check if You Are Affected

To determine whether your Python environment is affected by CVE-2020-5262, inspect your installed packages using pip:

pip show easybuild-framework

Analyze the terminal output to locate any version of Easybuild framework in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 4.1.2), your application is affected.

Note: The pip show easybuild-framework command checks currently installed packages in your active Python environment.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-532: Insertion of Sensitive Information into Log File, where the product writes sensitive information to a log file. In Easybuild framework, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

### Impact The GitHub Personal Access Token (PAT) used by EasyBuild for the GitHub integration features (like `--new-pr`, `--from-pr`, etc.) is shown in plain text in EasyBuild debug log files. Scope: * the log message only appears in the top-level log file, *not* in the individual software installation logs (see https://easybuild.readthedocs.io/en/latest/Logfiles.html); - as a consequence, tokens are *not* included in the partial log files that are uploaded into a gist when using `--upload-test-report` in combination with `--from-pr`, nor in the installation logs that are copied to the software installation directories; * the message is only logged when using `--debug`, so it will not appear when using the default EasyBuild configuration (only info messages are logged by default); * the log message is triggered via `--from-pr`, but also via various other GitHub integration options like `--new-pr`, `--merge-pr`, `--close-pr`, etc., but usually only appears in the temporary log file that is cleaned up automatically as soon as eb completes successfully; * you may have several debug log files that include your GitHub token in `/tmp` (or a different location if you've set the `--tmpdir` EasyBuild configuration option) on the systems where you use EasyBuild, but they are located in a subdirectory that is only accessible to your account (permissions set to 700); * the only way that a log file that may include your token could have been made public is *if you shared it yourself*, for example by copying the contents of the log file into a gist manually, or by sending a log file to someone; * for log files uploaded to GitHub, your token would be revoked automatically when GitHub notices it; ### Patches The issue is fixed with the changes in https://github.com/easybuilders/easybuild-framework/pull/3248. This fix is included in EasyBuild v4.1.2 (released on Mon Mar 16th 2020), and in the `master`+ `develop` branches of the `easybuild-framework` repository since Mon Mar 16th 2020 (see https://github.com/easybuilders/easybuild-framework/pull/3248 and https://github.com/easybuilders/easybuild-framework/pull/3249 resp.). **Make sure you revoke the existing GitHub tokens you're using with EasyBuild** (via https://github.com/settings/tokens), and install new ones using "`eb --install-github-token --force`" (see also https://easybuild.readthedocs.io/en/latest/Integration_with_GitHub.html#installing-a-github-token-install-github-token). ### Workarounds * avoid using the GitHub integration features (see https://easybuild.readthedocs.io/en/latest/Integration_with_GitHub.html) with EasyBuild versions older than version 4.1.2; * don't share top-level EasyBuild (debug) log files with others, unless you are sure your GitHub token is not included in them; * clean up temporary EasyBuild log files in `/tmp`on the system(s) where you`re using EasyBuild ### References * https://github.com/easybuilders/easybuild-framework/pull/3248 (PR that fixes the issue) * (release announcement to EasyBuild mailing list) ### For more information * Open an issue in [the `easybuild-framework` repository](https://github.com/easybuilders/easybuild-framework) * Email us at [easybuild-admin@lists.ugent.be](mailto:easybuild-admin@lists.ugent.be)

CVE-2020-5262 Affected Easybuild framework Versions

1 component(s)
Fixed Versions:
4.1.2
Product / Package Ecosystem Affected Versions Fixed Version
easybuild-framework
PyPI
< 4.1.2
4.1.2

References

Frequently Asked Questions

What is CVE-2020-5262?
CVE-2020-5262 is a security vulnerability in Easybuild framework involving GitHub personal access token leaking into temporary EasyBuild (debug) logs under CWE-532: Insertion of Sensitive Information into Log File.
Which Easybuild framework versions are affected?
Affected versions include releases prior to 4.1.2 across affected packages: easybuild-framework.
What version fixes CVE-2020-5262?
Upgrading to 4.1.2 (or the latest patched release for your respective branch) resolves the vulnerability.
Is easybuild-framework affected?
Yes, easybuild-framework is affected in releases prior to 4.1.2. Upgrade your dependency to 4.1.2 or later.
What is the CVSS score of CVE-2020-5262?
CVE-2020-5262 has a CVSS v3.1 base score of 7.7 (CRITICAL) with vector string CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N.
What CWE is associated with CVE-2020-5262?
CVE-2020-5262 is classified under CWE-532: Insertion of Sensitive Information into Log File (The product writes sensitive information to a log file.).
How can I check PyPI dependencies for CVE-2020-5262?
Run the dependency tree command: 'pip show easybuild-framework'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-2wx6-wc87-rmjm",
  "modified" : "2024-09-20T17:31:44Z",
  "published" : "2020-03-19T17:29:58Z",
  "aliases" : [ "CVE-2020-5262" ],
  "summary" : "GitHub personal access token leaking into temporary EasyBuild (debug) logs",
  "details" : "### Impact\n\nThe GitHub Personal Access Token (PAT) used by EasyBuild for the GitHub integration features (like `--new-pr`, `--from-pr`, etc.) is shown in plain text in EasyBuild debug log files.\n\nScope:\n\n* the log message only appears in the top-level log file, *not* in the individual software installation logs (see https://easybuild.readthedocs.io/en/latest/Logfiles.html);\n    - as a consequence, tokens are *not* included in the partial log files that are uploaded into a gist when using `--upload-test-report` in combination with `--from-pr`, nor in the installation logs that are copied to the software installation directories;\n* the message is only logged when using `--debug`, so it will not appear when using the default EasyBuild configuration (only info messages are logged by default);\n* the log message is triggered via `--from-pr`, but also via various other GitHub integration options like `--new-pr`, `--merge-pr`, `--close-pr`, etc., but usually only appears in the temporary log file that is cleaned up automatically as soon as eb completes successfully;\n* you may have several debug log files that include your GitHub token in `/tmp` (or a different location if you've set the `--tmpdir` EasyBuild configuration option) on the systems where you use EasyBuild, but they are located in a subdirectory that is only accessible to your account (permissions set to 700);\n* the only way that a log file that may include your token could have been made public is *if you shared it yourself*, for example by copying the contents of the log file into a gist manually, or by sending a log file to someone;\n* for log files uploaded to GitHub, your token would be revoked automatically when GitHub notices it;\n\n### Patches\n\nThe issue is fixed with the changes in https://github.com/easybuilders/easybuild-framework/pull/3248.\n\nThis fix is included in EasyBuild v4.1.2 (released on Mon Mar 16th 2020), and in the `master`+  `develop` branches of the `easybuild-framework` repository since Mon Mar 16th 2020 (see https://github.com/easybuilders/easybuild-framework/pull/3248 and https://github.com/easybuilders/easybuild-framework/pull/3249 resp.).\n\n**Make sure you revoke the existing GitHub tokens you're using with EasyBuild** (via https://github.com/settings/tokens), and install new ones using \"`eb --install-github-token --force`\" (see also https://easybuild.readthedocs.io/en/latest/Integration_with_GitHub.html#installing-a-github-token-install-github-token).\n\n### Workarounds\n\n* avoid using the GitHub integration features (see https://easybuild.readthedocs.io/en/latest/Integration_with_GitHub.html) with EasyBuild versions older than version 4.1.2;\n* don't share top-level EasyBuild (debug) log files with others, unless you are sure your GitHub token is not included in them;\n* clean up temporary EasyBuild log files in `/tmp`on the system(s) where you`re using EasyBuild\n\n### References\n\n* https://github.com/easybuilders/easybuild-framework/pull/3248 (PR that fixes the issue)\n* (release announcement to EasyBuild mailing list)\n\n### For more information\n\n* Open an issue in [the `easybuild-framework` repository](https://github.com/easybuilders/easybuild-framework)\n* Email us at [easybuild-admin@lists.ugent.be](mailto:easybuild-admin@lists.ugent.be)",
  "severity" : [ {
    "type" : "CVSS_V3",
    "score" : "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N"
  }, {
    "type" : "CVSS_V4",
    "score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "PyPI",
      "name" : "easybuild-framework"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "fixed" : "4.1.2"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/easybuilders/easybuild-framework/security/advisories/GHSA-2wx6-wc87-rmjm"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2020-5262"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/easybuilders/easybuild-framework/pull/3248"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/easybuilders/easybuild-framework/pull/3249"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/easybuilders/easybuild-framework/commit/210743d0e3618a8ac0a56eb9c0f4fa4fd8ae53b9"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/easybuilders/easybuild-framework"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/pypa/advisory-database/tree/main/vulns/easybuild-framework/PYSEC-2020-41.yaml"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/pypa/advisory-database/tree/main/vulns/easybuild/PYSEC-2020-268.yaml"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-532" ],
    "severity" : "CRITICAL",
    "github_reviewed" : true,
    "github_reviewed_at" : "2020-03-19T17:04:51Z",
    "nvd_published_at" : null
  }
}