| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent edcadf7 commit 67a766f
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | 5 | Report security bugs in Node.js via [HackerOne](https://hackerone.com/nodejs). | |
| 6 | 6 | ||
| 7 | - Normally your report will be acknowledged within 5 days, and you'll receive | ||
| 7 | + Normally, your report will be acknowledged within 5 days, and you'll receive | ||
| 8 | 8 | a more detailed response to your report within 10 days indicating the | |
| 9 | 9 | next steps in handling your submission. These timelines may extend when | |
| 10 | 10 | our triage volunteers are away on holiday, particularly at the end of the | |
@@ -21,9 +21,9 @@ The Node.js project engages in an official bug bounty program for security | |||
| 21 | 21 | researchers and responsible public disclosures. The program is managed through | |
| 22 | 22 | the HackerOne platform. See <https://hackerone.com/nodejs> for further details. | |
| 23 | 23 | ||
| 24 | - ## Reporting a bug in a third party module | ||
| 24 | + ## Reporting a bug in a third-party module | ||
| 25 | 25 | ||
| 26 | - Security bugs in third party modules should be reported to their respective | ||
| 26 | + Security bugs in third-party modules should be reported to their respective | ||
| 27 | 27 | maintainers. | |
| 28 | 28 | ||
| 29 | 29 | ## Disclosure policy | |
@@ -41,20 +41,19 @@ Here is the security disclosure policy for Node.js | |||
| 41 | 41 | * A suggested embargo date for this vulnerability is chosen and a CVE (Common | |
| 42 | 42 | Vulnerabilities and Exposures (CVE®)) is requested for the vulnerability. | |
| 43 | 43 | ||
| 44 | - * On the embargo date, the Node.js security mailing list is sent a copy of the | ||
| 45 | - announcement. The changes are pushed to the public repository and new builds | ||
| 46 | - are deployed to nodejs.org. Within 6 hours of the mailing list being | ||
| 44 | + * On the embargo date, a copy of the announcement is sent to the Node.js | ||
| 45 | + security mailing list. The changes are pushed to the public repository and new | ||
| 46 | + builds are deployed to nodejs.org. Within 6 hours of the mailing list being | ||
| 47 | 47 | notified, a copy of the advisory will be published on the Node.js blog. | |
| 48 | 48 | ||
| 49 | - * Typically the embargo date will be set 72 hours from the time the CVE is | ||
| 49 | + * Typically, the embargo date will be set 72 hours from the time the CVE is | ||
| 50 | 50 | issued. However, this may vary depending on the severity of the bug or | |
| 51 | 51 | difficulty in applying a fix. | |
| 52 | 52 | ||
| 53 | - * This process can take some time, especially when coordination is required | ||
| 54 | - with maintainers of other projects. Every effort will be made to handle the | ||
| 55 | - bug in as timely a manner as possible; however, it's important that we follow | ||
| 56 | - the release process above to ensure that the disclosure is handled in a | ||
| 57 | - consistent manner. | ||
| 53 | + * This process can take some time, especially when we need to coordinate with | ||
| 54 | + maintainers of other projects. We will try to handle the bug as quickly as | ||
| 55 | + possible; however, we must follow the release process above to ensure that we | ||
| 56 | + handle disclosure consistently. | ||
| 58 | 57 | ||
| 59 | 58 | ## The Node.js threat model | |
| 60 | 59 | ||
@@ -91,12 +90,12 @@ Vulnerabilities related to this case may be fixed by a documentation update. | |||
| 91 | 90 | 2. The data received from the remote end of outbound network connections | |
| 92 | 91 | that are created through the use of Node.js APIs and | |
| 93 | 92 | which is transformed/validated by Node.js before being passed | |
| 94 | - to the application EXCEPT in respect to payload length. Node.js trusts | ||
| 93 | + to the application EXCEPT with respect to payload length. Node.js trusts | ||
| 95 | 94 | that applications make connections/requests which will avoid payload | |
| 96 | 95 | sizes that will result in a Denial of Service. | |
| 97 | 96 | * HTTP APIs (all flavors) client APIs. | |
| 98 | 97 | * DNS APIs. | |
| 99 | - 3. Consumers of data protected through the use of Node.js APIs (for example | ||
| 98 | + 3. Consumers of data protected through the use of Node.js APIs (for example, | ||
| 100 | 99 | people who have access to data encrypted through the Node.js crypto APIs). | |
| 101 | 100 | 4. The file content or other I/O that is opened for reading or writing by the | |
| 102 | 101 | use of Node.js APIs (ex: stdin, stdout, stderr). | |
@@ -107,13 +106,13 @@ a security vulnerability. Examples of unwanted actions are polluting globals, | |||
| 107 | 106 | causing an unrecoverable crash, or any other unexpected side effects that can | |
| 108 | 107 | lead to a loss of confidentiality, integrity, or availability. | |
| 109 | 108 | ||
| 110 | - **Node.js trusts everything else**. As some examples this includes: | ||
| 109 | + **Node.js trusts everything else**. Examples include: | ||
| 111 | 110 | ||
| 112 | 111 | 1. The developers and infrastructure that runs it. | |
| 113 | 112 | 2. The operating system that Node.js is running under and its configuration, | |
| 114 | 113 | along with anything under control of the operating system. | |
| 115 | - 3. The code it is asked to run including JavaScript and native code, even if | ||
| 116 | - said code is dynamically loaded, e.g. all dependencies installed from the | ||
| 114 | + 3. The code it is asked to run, including JavaScript and native code, even if | ||
| 115 | + said code is dynamically loaded, e.g., all dependencies installed from the | ||
| 117 | 116 | npm registry. | |
| 118 | 117 | The code run inherits all the privileges of the execution user. | |
| 119 | 118 | 4. Inputs provided to it by the code it is asked to run, as it is the | |
@@ -135,7 +134,7 @@ In addition to addressing vulnerabilities based on the above, the project works | |||
| 135 | 134 | to avoid APIs and internal implementations that make it "easy" for application | |
| 136 | 135 | code to use the APIs incorrectly in a way that results in vulnerabilities within | |
| 137 | 136 | the application code itself. While we don’t consider those vulnerabilities in | |
| 138 | - Node.js itself and will not necessarily issue a CVE we do want them to be | ||
| 137 | + Node.js itself and will not necessarily issue a CVE, we do want them to be | ||
| 139 | 138 | reported privately to Node.js first. | |
| 140 | 139 | We often choose to work to improve our APIs based on those reports and issue | |
| 141 | 140 | fixes either in regular or security releases depending on how much of a risk to | |
@@ -173,13 +172,13 @@ the community they pose. | |||
| 173 | 172 | ||
| 174 | 173 | #### Malicious Third-Party Modules (CWE-1357) | |
| 175 | 174 | ||
| 176 | - * Code is trusted by Node.js, therefore any scenario that requires a malicious | ||
| 175 | + * Code is trusted by Node.js. Therefore any scenario that requires a malicious | ||
| 177 | 176 | third-party module cannot result in a vulnerability in Node.js. | |
| 178 | 177 | ||
| 179 | 178 | #### Prototype Pollution Attacks (CWE-1321) | |
| 180 | 179 | ||
| 181 | 180 | * Node.js trusts the inputs provided to it by application code. | |
| 182 | - It is up to the application to sanitize appropriately, therefore any scenario | ||
| 181 | + It is up to the application to sanitize appropriately. Therefore any scenario | ||
| 183 | 182 | that requires control over user input is not considered a vulnerability. | |
| 184 | 183 | ||
| 185 | 184 | #### Uncontrolled Search Path Element (CWE-427) | |
@@ -205,8 +204,8 @@ the community they pose. | |||
| 205 | 204 | ||
| 206 | 205 | * Corepack defaults to downloading the latest version of the software requested | |
| 207 | 206 | by the user, or a specific version requested by the user. For this reason, | |
| 208 | - Node.js releases won't be affected by such vulnerabilities, users are | ||
| 209 | - responsible to keep the software they use through Corepack up-to-date. | ||
| 207 | + Node.js releases won't be affected by such vulnerabilities. Users are | ||
| 208 | + responsible for keeping the software they use through Corepack up-to-date. | ||
| 210 | 209 | ||
| 211 | 210 | ## Assessing experimental features reports | |
| 212 | 211 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments