@@ -114,7 +114,8 @@ does not trust is considered a vulnerability:
114
114
* The API doesn't have a warning against its usage in a production environment.
115
115
* The API is public and documented.
116
116
* The API is on stable (2.0) status.
117
- * The memory leak is significant, causing a DoS fast or in a user-uncontrolled space (for instance, on HTTP parsing).
117
+ * The memory leak is significant enough to cause a denial of service quickly
118
+ or in a context not controlled by the user (for example, HTTP parsing).
118
119
* The memory leak is directly exploitable by an untrusted source without requiring application mistakes.
119
120
* The leak cannot be reasonably mitigated through standard operational practices (like process recycling).
120
121
* The leak occurs deterministically under normal usage patterns rather than edge cases.
@@ -140,7 +141,7 @@ Vulnerabilities related to this case may be fixed by a documentation update.
140
141
* The data received from the remote end of outbound network connections
141
142
that are created through the use of Node.js APIs and
142
143
which is transformed/validated by Node.js before being passed
143
- to the application EXCEPT with respect to payload length. Node.js trusts
144
+ to the application ** except ** with respect to payload length. Node.js trusts
144
145
that applications make connections/requests which will avoid payload
145
146
sizes that will result in a Denial of Service.
146
147
* HTTP APIs (all flavors) client APIs.
@@ -161,9 +162,9 @@ then untrusted input must not lead to arbitrary JavaScript code execution.
161
162
162
163
** Node.js trusts everything else** . Examples include:
163
164
164
- * The developers and infrastructure that runs it.
165
+ * The developers and infrastructure that run it.
165
166
* The operating system that Node.js is running under and its configuration,
166
- along with anything under control of the operating system.
167
+ along with anything under the control of the operating system.
167
168
* The code it is asked to run, including JavaScript, WASM and native code, even
168
169
if said code is dynamically loaded, e.g., all dependencies installed from the
169
170
npm registry.
@@ -199,12 +200,12 @@ the community they pose.
199
200
200
201
* Node.js provides APIs to validate handling of Subject Alternative Names (SANs)
201
202
in certificates used to connect to a TLS/SSL endpoint. If certificates can be
202
- crafted which result in incorrect validation by the Node.js APIs that is
203
+ crafted that result in incorrect validation by the Node.js APIs that is
203
204
considered a vulnerability.
204
205
205
206
#### Inconsistent Interpretation of HTTP Requests (CWE-444)
206
207
207
- * Node.js provides APIs to accept http connections. Those APIs parse the
208
+ * Node.js provides APIs to accept HTTP connections. Those APIs parse the
208
209
headers received for a connection and pass them on to the application.
209
210
Bugs in parsing those headers which can result in request smuggling are
210
211
considered vulnerabilities.
@@ -217,9 +218,9 @@ the community they pose.
217
218
218
219
#### External Control of System or Configuration Setting (CWE-15)
219
220
220
- * If Node.js automatically loads a configuration file which is not documented
221
+ * If Node.js automatically loads a configuration file that is not documented
221
222
and modification of that configuration can affect the confidentiality of
222
- data protected using the Node.js APIs this is considered a vulnerability.
223
+ data protected using the Node.js APIs, then this is considered a vulnerability.
223
224
224
225
### Examples of non-vulnerabilities
225
226
@@ -242,7 +243,7 @@ the community they pose.
242
243
243
244
#### External Control of System or Configuration Setting (CWE-15)
244
245
245
- * If Node.js automatically loads a configuration file which is documented
246
+ * If Node.js automatically loads a configuration file that is documented,
246
247
no scenario that requires modification of that configuration file is
247
248
considered a vulnerability.
248
249
@@ -262,9 +263,9 @@ the community they pose.
262
263
263
264
## Assessing experimental features reports
264
265
265
- Experimental features are eligible to reports as any other stable feature of
266
- Node.js. They will also be susceptible to receiving the same severity score
267
- as any other stable feature.
266
+ Experimental features are eligible for security reports just like any other
267
+ stable feature of Node.js. They may also receive the same severity score that a
268
+ stable feature would .
268
269
269
270
## Receiving security updates
270
271
0 commit comments