CVE-2021-21423
Projen GitHub Rebuild Bot Untrusted Code Execution Vulnerability
Description
`projen` is a project generation tool that synthesizes project configuration files such as `package.json`, `tsconfig.json`, `.gitignore`, GitHub Workflows, `eslint`, `jest`, and more, from a well-typed definition written in JavaScript. Users of projen's `NodeProject` project type (including any project type derived from it) include a `.github/workflows/rebuild-bot.yml` workflow that may allow any GitHub user to trigger execution of un-trusted code in the context of the "main" repository (as opposed to that of a fork). In some situations, such untrusted code may potentially be able to commit to the "main" repository. The rebuild-bot workflow is triggered by comments including `@projen rebuild` on pull-request to trigger a re-build of the projen project, and updating the pull request with the updated files. This workflow is triggered by an `issue_comment` event, and thus always executes with a `GITHUB_TOKEN` belonging to the repository into which the pull-request is made (this is in contrast with workflows triggered by `pull_request` events, which always execute with a `GITHUB_TOKEN` belonging to the repository from which the pull-request is made). Repositories that do not have branch protection configured on their default branch (typically `main` or `master`) could possibly allow an untrusted user to gain access to secrets configured on the repository (such as NPM tokens, etc). Branch protection prohibits this escalation, as the managed `GITHUB_TOKEN` would not be able to modify the contents of a protected branch and affected workflows must be defined on the default branch.
INFO
Published Date :
April 6, 2021, 7:15 p.m.
Last Modified :
Nov. 21, 2024, 5:48 a.m.
Remotely Exploit :
Yes !
Source :
[email protected]
CVSS Scores
Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
---|---|---|---|---|---|---|
CVSS 2.0 | MEDIUM | [email protected] | ||||
CVSS 3.1 | MEDIUM | [email protected] | ||||
CVSS 3.1 | HIGH | [email protected] |
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2021-21423
.
URL | Resource |
---|---|
https://github.com/projen/projen/commit/36030c6a4b1acd0054673322612e7c70e9446643 | Patch Third Party Advisory |
https://github.com/projen/projen/security/advisories/GHSA-gg2g-m5wc-vccq | Mitigation Third Party Advisory |
https://www.npmjs.com/package/projen | Product Third Party Advisory |
https://github.com/projen/projen/commit/36030c6a4b1acd0054673322612e7c70e9446643 | Patch Third Party Advisory |
https://github.com/projen/projen/security/advisories/GHSA-gg2g-m5wc-vccq | Mitigation Third Party Advisory |
https://www.npmjs.com/package/projen | Product Third Party Advisory |
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2021-21423
is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2021-21423
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2021-21423
vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2021-21423
vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by af854a3a-2127-422b-91ae-364da2661108
Nov. 21, 2024
Action Type Old Value New Value Added Reference https://github.com/projen/projen/commit/36030c6a4b1acd0054673322612e7c70e9446643 Added Reference https://github.com/projen/projen/security/advisories/GHSA-gg2g-m5wc-vccq Added Reference https://www.npmjs.com/package/projen -
CVE Modified by [email protected]
May. 14, 2024
Action Type Old Value New Value -
Initial Analysis by [email protected]
Apr. 15, 2021
Action Type Old Value New Value Added CVSS V2 NIST (AV:N/AC:L/Au:S/C:P/I:P/A:N) Added CVSS V3.1 NIST AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N Changed Reference Type https://github.com/projen/projen/commit/36030c6a4b1acd0054673322612e7c70e9446643 No Types Assigned https://github.com/projen/projen/commit/36030c6a4b1acd0054673322612e7c70e9446643 Patch, Third Party Advisory Changed Reference Type https://github.com/projen/projen/security/advisories/GHSA-gg2g-m5wc-vccq No Types Assigned https://github.com/projen/projen/security/advisories/GHSA-gg2g-m5wc-vccq Mitigation, Third Party Advisory Changed Reference Type https://www.npmjs.com/package/projen No Types Assigned https://www.npmjs.com/package/projen Product, Third Party Advisory Added CPE Configuration OR *cpe:2.3:a:projen_project:projen:*:*:*:*:*:node.js:*:* versions from (including) 0.6.0 up to (excluding) 0.16.41
Vulnerability Scoring Details
Base CVSS Score: 8.1
Base CVSS Score: 5.5
Exploit Prediction
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days.
0.67 }} -0.09%
score
0.69001
percentile