@@ -82,23 +82,23 @@ Vulnerabilities related to this case may be fixed by a documentation update.
82
82
83
83
** Node.js does NOT trust** :
84
84
85
- 1 . Data received from the remote end of inbound network connections
86
- that are accepted through the use of Node.js APIs and
87
- which is transformed/validated by Node.js before being passed
88
- to the application. This includes:
89
- * HTTP APIs (all flavors) server APIs.
90
- 2 . The data received from the remote end of outbound network connections
91
- that are created through the use of Node.js APIs and
92
- which is transformed/validated by Node.js before being passed
93
- to the application EXCEPT with respect to payload length. Node.js trusts
94
- that applications make connections/requests which will avoid payload
95
- sizes that will result in a Denial of Service.
96
- * HTTP APIs (all flavors) client APIs.
97
- * DNS APIs.
98
- 3 . Consumers of data protected through the use of Node.js APIs (for example,
99
- people who have access to data encrypted through the Node.js crypto APIs).
100
- 4 . The file content or other I/O that is opened for reading or writing by the
101
- use of Node.js APIs (ex: stdin, stdout, stderr).
85
+ * Data received from the remote end of inbound network connections
86
+ that are accepted through the use of Node.js APIs and
87
+ which is transformed/validated by Node.js before being passed
88
+ to the application. This includes:
89
+ * HTTP APIs (all flavors) server APIs.
90
+ * The data received from the remote end of outbound network connections
91
+ that are created through the use of Node.js APIs and
92
+ which is transformed/validated by Node.js before being passed
93
+ to the application EXCEPT with respect to payload length. Node.js trusts
94
+ that applications make connections/requests which will avoid payload
95
+ sizes that will result in a Denial of Service.
96
+ * HTTP APIs (all flavors) client APIs.
97
+ * DNS APIs.
98
+ * Consumers of data protected through the use of Node.js APIs (for example,
99
+ people who have access to data encrypted through the Node.js crypto APIs).
100
+ * The file content or other I/O that is opened for reading or writing by the
101
+ use of Node.js APIs (ex: stdin, stdout, stderr).
102
102
103
103
In other words, if the data passing through Node.js to/from the application
104
104
can trigger actions other than those documented for the APIs, there is likely
@@ -108,23 +108,23 @@ lead to a loss of confidentiality, integrity, or availability.
108
108
109
109
** Node.js trusts everything else** . Examples include:
110
110
111
- 1 . The developers and infrastructure that runs it.
112
- 2 . The operating system that Node.js is running under and its configuration,
113
- along with anything under control of the operating system.
114
- 3 . The code it is asked to run, including JavaScript, WASM and native code, even
115
- if said code is dynamically loaded, e.g., all dependencies installed from the
116
- npm registry.
117
- The code run inherits all the privileges of the execution user.
118
- 4 . Inputs provided to it by the code it is asked to run, as it is the
119
- responsibility of the application to perform the required input validations,
120
- e.g. the input to ` JSON.parse() ` .
121
- 5 . Any connection used for inspector (debugger protocol) regardless of being
122
- opened by command line options or Node.js APIs, and regardless of the remote
123
- end being on the local machine or remote.
124
- 6 . The file system when requiring a module.
125
- See < https://nodejs.org/api/modules.html#all-together > .
126
- 7 . The ` node:wasi ` module does not currently provide the comprehensive file
127
- system security properties provided by some WASI runtimes.
111
+ * The developers and infrastructure that runs it.
112
+ * The operating system that Node.js is running under and its configuration,
113
+ along with anything under control of the operating system.
114
+ * The code it is asked to run, including JavaScript, WASM and native code, even
115
+ if said code is dynamically loaded, e.g., all dependencies installed from the
116
+ npm registry.
117
+ The code run inherits all the privileges of the execution user.
118
+ * Inputs provided to it by the code it is asked to run, as it is the
119
+ responsibility of the application to perform the required input validations,
120
+ e.g. the input to ` JSON.parse() ` .
121
+ * Any connection used for inspector (debugger protocol) regardless of being
122
+ opened by command line options or Node.js APIs, and regardless of the remote
123
+ end being on the local machine or remote.
124
+ * The file system when requiring a module.
125
+ See < https://nodejs.org/api/modules.html#all-together > .
126
+ * The ` node:wasi ` module does not currently provide the comprehensive file
127
+ system security properties provided by some WASI runtimes.
128
128
129
129
Any unexpected behavior from the data manipulation from Node.js Internal
130
130
functions may be considered a vulnerability if they are exploitable via
0 commit comments