security(codecs): cap buffered GELF payload - #26302
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
ca21296 to
2a5af7b
Compare
2a5af7b to
deb7098
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 496b7dc11e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
estherk15
left a comment
There was a problem hiding this comment.
Left one optional suggestion, approved for docs!
| @@ -0,0 +1,5 @@ | |||
| The `chunked_gelf` framing decoder now limits the payload buffered across incomplete messages to 128 MiB. An unauthenticated sender could previously exhaust memory by sending chunks for messages it never completed, most easily on the `socket` source in UDP mode. | |||
There was a problem hiding this comment.
| The `chunked_gelf` framing decoder now limits the payload buffered across incomplete messages to 128 MiB. An unauthenticated sender could previously exhaust memory by sending chunks for messages it never completed, most easily on the `socket` source in UDP mode. | |
| The `chunked_gelf` framing decoder now limits the payload buffered across incomplete messages to 128 MiB. Previously, an unauthenticated sender could exhaust memory by sending chunks for messages it never completed, most easily on the `socket` source in UDP mode. |
Summary
Motivation
Bounding the number of incomplete messages does not bound their combined payload. Many messages can otherwise retain large chunks until completion or timeout.
Changes
max_lengthselect a lower per-message ceiling without raising the aggregate limit.References
Related: #26137
Stack: #26299 -> #26300 -> #26301 -> #26302
Vector configuration
Not applicable; accounting is exercised directly at the decoder boundary.
How did you test this PR?
Focused tests exercise accounting across completion, timeout, rejection, and saturation.
Does this PR include user facing changes?
no-changeloglabel to this PR.Contributor Guidelines
@vectordotdev/vectorto reach out to us regarding this PR.