Skip to content

Do not allow for unbounded reads for user controlled input#681

Merged
wagoodman merged 1 commit intomainfrom
fix-read-all
Mar 10, 2026
Merged

Do not allow for unbounded reads for user controlled input#681
wagoodman merged 1 commit intomainfrom
fix-read-all

Conversation

@wagoodman
Copy link
Copy Markdown
Contributor

@wagoodman wagoodman commented Mar 10, 2026

This PR addresses potential memory exhaustion from unbounded io.ReadAll calls when reading HTTP responses and files. Previously, if a server returned an unexpectedly large response, quill would attempt to read the whole payload into memory.

There were a few different vectors for this, all have been addressed by adding limits based on realistic inputs (with wide margins):

  • API responses: 5 MB
  • Log files: 50 MB
  • Certificates: 1 MB
  • PKI files: 10 MB

Stacked PRs

@wagoodman wagoodman added the security related to a security fix label Mar 10, 2026
@wagoodman wagoodman marked this pull request as draft March 10, 2026 14:23
@wagoodman wagoodman requested a review from a team March 10, 2026 14:23
@wagoodman wagoodman self-assigned this Mar 10, 2026
@wagoodman wagoodman added this to OSS Mar 10, 2026
@wagoodman wagoodman moved this to In Review in OSS Mar 10, 2026
Base automatically changed from validate-dev-log-url to main March 10, 2026 15:10
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>
@wagoodman wagoodman marked this pull request as ready for review March 10, 2026 15:15
@wagoodman wagoodman merged commit 9cdb082 into main Mar 10, 2026
7 checks passed
@wagoodman wagoodman deleted the fix-read-all branch March 10, 2026 15:20
@github-project-automation github-project-automation Bot moved this from In Review to Done in OSS Mar 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

security related to a security fix

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants