Skip to content

Commit 13d7063

Browse files
committed
Add documentation about new Vault Listener params
1 parent c1fbe29 commit 13d7063

File tree

4 files changed

+84
-0
lines changed
  • content/vault
    • v1.16.x/content/docs/configuration/listener/tcp
    • v1.18.x/content/docs/configuration/listener/tcp
    • v1.19.x/content/docs/configuration/listener/tcp
    • v1.20.x/content/docs/configuration/listener/tcp

4 files changed

+84
-0
lines changed

content/vault/v1.16.x/content/docs/configuration/listener/tcp/index.mdx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,27 @@ default value in the `"/sys/config/ui"` [API endpoint](/vault/api-docs/system/co
280280
this listener. The default configuration will honor the global
281281
[configuration](/vault/docs/configuration/request-limiter).
282282

283+
- `max_json_depth` `(int: 500)` – Specifies the maximum nesting depth of a JSON payload.
284+
This is a security control to mitigate the risk of stack exhaustion from deeply nested
285+
objects, which could lead to a Denial of Service (DoS).
286+
287+
- `max_json_string_value_length` `(int: 1048576)` – Defines the maximum allowed length in bytes
288+
for a single string value within a JSON payload. This is a critical defense against excessive memory
289+
allocation attacks where a client might send a very large string to exhaust server memory. Defaults to 1MB.
290+
291+
- `max_json_object_entry_count` `(int: 10000)` – Sets the maximum number of key-value pairs
292+
allowed in a single JSON object. This helps mitigate hash-collision Denial of Service (HashDoS)
293+
attacks and prevents general resource exhaustion from objects with an excessive number of entries.
294+
295+
- `max_json_array_element_count` `(int: 10000)` – Determines the maximum number of elements
296+
permitted in a single JSON array. This prevents a single request from causing excessive memory
297+
consumption when processing large lists.
298+
299+
- `max_json_token` `(int: 500000)` – Sets the maximum total number of tokens
300+
(e.g., keys, values, braces, brackets) permitted in a single JSON payload. This acts as an overall
301+
complexity limit, providing a safeguard against attacks that use a huge number of small elements
302+
to exhaust CPU and memory.
303+
283304
### `telemetry` parameters
284305

285306
- `unauthenticated_metrics_access` `(bool: false)` - If set to true, allows

content/vault/v1.18.x/content/docs/configuration/listener/tcp/index.mdx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,27 @@ default value in the `"/sys/config/ui"` [API endpoint](/vault/api-docs/system/co
297297
- `disable_replication_status_endpoints` `(bool: false)` - Disables replication
298298
status endpoints for the configured listener when set to `true`.
299299

300+
- `max_json_depth` `(int: 500)` – Specifies the maximum nesting depth of a JSON payload.
301+
This is a security control to mitigate the risk of stack exhaustion from deeply nested
302+
objects, which could lead to a Denial of Service (DoS).
303+
304+
- `max_json_string_value_length` `(int: 1048576)` – Defines the maximum allowed length in bytes
305+
for a single string value within a JSON payload. This is a critical defense against excessive memory
306+
allocation attacks where a client might send a very large string to exhaust server memory. Defaults to 1MB.
307+
308+
- `max_json_object_entry_count` `(int: 10000)` – Sets the maximum number of key-value pairs
309+
allowed in a single JSON object. This helps mitigate hash-collision Denial of Service (HashDoS)
310+
attacks and prevents general resource exhaustion from objects with an excessive number of entries.
311+
312+
- `max_json_array_element_count` `(int: 10000)` – Determines the maximum number of elements
313+
permitted in a single JSON array. This prevents a single request from causing excessive memory
314+
consumption when processing large lists.
315+
316+
- `max_json_token` `(int: 500000)` – Sets the maximum total number of tokens
317+
(e.g., keys, values, braces, brackets) permitted in a single JSON payload. This acts as an overall
318+
complexity limit, providing a safeguard against attacks that use a huge number of small elements
319+
to exhaust CPU and memory.
320+
300321
### `telemetry` parameters
301322

302323
- `unauthenticated_metrics_access` `(bool: false)` - If set to true, allows

content/vault/v1.19.x/content/docs/configuration/listener/tcp/index.mdx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,27 @@ default value in the `"/sys/config/ui"` [API endpoint](/vault/api-docs/system/co
297297
- `disable_replication_status_endpoints` `(bool: false)` - Disables replication
298298
status endpoints for the configured listener when set to `true`.
299299

300+
- `max_json_depth` `(int: 500)` – Specifies the maximum nesting depth of a JSON payload.
301+
This is a security control to mitigate the risk of stack exhaustion from deeply nested
302+
objects, which could lead to a Denial of Service (DoS).
303+
304+
- `max_json_string_value_length` `(int: 1048576)` – Defines the maximum allowed length in bytes
305+
for a single string value within a JSON payload. This is a critical defense against excessive memory
306+
allocation attacks where a client might send a very large string to exhaust server memory. Defaults to 1MB.
307+
308+
- `max_json_object_entry_count` `(int: 10000)` – Sets the maximum number of key-value pairs
309+
allowed in a single JSON object. This helps mitigate hash-collision Denial of Service (HashDoS)
310+
attacks and prevents general resource exhaustion from objects with an excessive number of entries.
311+
312+
- `max_json_array_element_count` `(int: 10000)` – Determines the maximum number of elements
313+
permitted in a single JSON array. This prevents a single request from causing excessive memory
314+
consumption when processing large lists.
315+
316+
- `max_json_token` `(int: 500000)` – Sets the maximum total number of tokens
317+
(e.g., keys, values, braces, brackets) permitted in a single JSON payload. This acts as an overall
318+
complexity limit, providing a safeguard against attacks that use a huge number of small elements
319+
to exhaust CPU and memory.
320+
300321
### `telemetry` parameters
301322

302323
- `unauthenticated_metrics_access` `(bool: false)` - If set to true, allows

content/vault/v1.20.x/content/docs/configuration/listener/tcp/index.mdx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,27 @@ default value in the `"/sys/config/ui"` [API endpoint](/vault/api-docs/system/co
297297
- `disable_replication_status_endpoints` `(bool: false)` - Disables replication
298298
status endpoints for the configured listener when set to `true`.
299299

300+
- `max_json_depth` `(int: 500)` – Specifies the maximum nesting depth of a JSON payload.
301+
This is a security control to mitigate the risk of stack exhaustion from deeply nested
302+
objects, which could lead to a Denial of Service (DoS).
303+
304+
- `max_json_string_value_length` `(int: 1048576)` – Defines the maximum allowed length in bytes
305+
for a single string value within a JSON payload. This is a critical defense against excessive memory
306+
allocation attacks where a client might send a very large string to exhaust server memory. Defaults to 1MB.
307+
308+
- `max_json_object_entry_count` `(int: 10000)` – Sets the maximum number of key-value pairs
309+
allowed in a single JSON object. This helps mitigate hash-collision Denial of Service (HashDoS)
310+
attacks and prevents general resource exhaustion from objects with an excessive number of entries.
311+
312+
- `max_json_array_element_count` `(int: 10000)` – Determines the maximum number of elements
313+
permitted in a single JSON array. This prevents a single request from causing excessive memory
314+
consumption when processing large lists.
315+
316+
- `max_json_token` `(int: 500000)` – Sets the maximum total number of tokens
317+
(e.g., keys, values, braces, brackets) permitted in a single JSON payload. This acts as an overall
318+
complexity limit, providing a safeguard against attacks that use a huge number of small elements
319+
to exhaust CPU and memory.
320+
300321
### `telemetry` parameters
301322

302323
- `unauthenticated_metrics_access` `(bool: false)` - If set to true, allows

0 commit comments

Comments
 (0)