docs: Routing Appender security considerations for high-cardinality keys - #4217
docs: Routing Appender security considerations for high-cardinality keys#4217SebTardif wants to merge 2 commits into
Conversation
…ty keys Document that default Route appender definitions create one appender per routing key value, which can exhaust file descriptors when the key is untrusted or high-cardinality. Recommend purge policies and low-cardinality keys. Fixes apache#4181 Signed-off-by: Sebastien Tardif <sebtardif@ncf.ca>
|
The section only covers availability. The other half of what @ppkarwasz asked for @ppkarwasz can you look on this? |
Address review on apache#4217 / apache#4181: document that untrusted routing keys are substituted into subordinate appender config (path traversal example), link the project threat model and path-traversal FAQ, and contrast runtime route creation with config-time appenders. Signed-off-by: Sebastien Tardif <sebtardif@ncf.ca>
|
Thanks @ramanathan1504. Pushed an update that:
Happy to adjust wording if @ppkarwasz wants a different emphasis. |
What Problem This Solves
When a default
Routeembeds an appender definition, the Routing Appender creates one subordinate appender per distinct routing key. If the key comes from untrusted or high-cardinality data (for example${ctx:userId}), that can exhaust file descriptors and memory.Evidence
Issue #4181 describes FD exhaustion with a user-controlled routing key and file-backed routes. This PR documents the risk and mitigations (
IdlePurgePolicy, low-cardinality keys, prefer appender references).Summary
Adds a Security considerations section to the Routing Appender manual page, linked from the existing purge-policy discussion.
Fixes #4181
Validation
Documentation-only change under
src/site/antora/.../appenders/delegating.adocplus changelog entry.