security(request): reconstruct zero-progress guard on protected main - #209
security(request): reconstruct zero-progress guard on protected main#209seonghobae wants to merge 9 commits into
Conversation
|
Warning Review limit reached
Next review available in: 56 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review Review exact current head |
Rate Limit Exceeded
|
seonghobae
left a comment
There was a problem hiding this comment.
Current-head source review for 77f5e287d6032a2eecc86a09b3888a4e14de974e found no blocking defect in the bounded request-stream progress scope. Both sync and async wrappers require exact bytes, consume but do not dispatch one compatibility empty chunk, reject any later zero-progress chunk before network dispatch, retain cumulative/declared-length and single-consumption contracts, and use deterministic generic-denial cleanup. This is author-side review evidence only, not independent approval. Keep Draft until the corrected Dependency Review path executes successfully on the unchanged head and all live semantic-review gates are current and substantive.
Purpose
Reconstruct PR #201's bounded request-stream progress fix on the exact current protected
mainwithout transferring predecessor checks/reviews. The original defect allowed an attacker- or bug-controlled request source to emit unbounded exact emptybyteschunks that consumed CPU without increasingmax_request_bytesor reaching an HTTPCore network write.Exact current identity
7faf7a3b8a47980113982914000e724ab6a6cda5;50b9951255485c3fd557d2bfd14fb6f9acbf490c(historical lineage only);77f5e287d6032a2eecc86a09b3888a4e14de974e;CHANGELOG.md,src/egressweave/request_body_safety.py, andtests/test_request_body_empty_chunks.py;Historical RED/GREEN checks/reviews from #201 do not transfer.
Security / compatibility boundary
The reconstructed delta:
bytesrequest chunks before progress accounting;A non-empty chunk consumes the finite request-byte budget, so the one-empty-chunk compatibility allowance cannot be combined with bounded non-empty progress to create an unbounded zero-progress stream.
Exact-current-head evidence
On unchanged
77f5e287d6032a2eecc86a09b3888a4e14de974e:31636858472: completed success;31636858444: completed success;94249461015: completed success with no new changed-code alerts;94249452062: completed success with no new changed-code alerts;31636858406: aggregate success, with OSV, Trivy and Scorecard jobs successful, but dependency-review job94249270015skipped the actual immutable-pinned Dependency review action; aggregate green is therefore non-passing supply-chain evidence;94249496607: completed success as model/check evidence only;94249272702: completed success with zero annotations and produced an exact-headstrix-reportsartifact9157700816, SHA-256153a09cccd9c23224d4391fa3fd285a251de8ec50f63d148247a6974bc532186;Skipped/manual-status-only/model-only evidence is not promoted into merge acceptance.
Remaining acceptance
Supersedes #201 as the current-main implementation lane.