fix(security): preserve inherited body in outbound policy - #276
fix(security): preserve inherited body in outbound policy#276seonghobae wants to merge 5 commits into
Conversation
|
Warning Review limit reached
Next review available in: 65 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 |
Preserve the reviewed three-path inherited-body security slice while integrating protected nanoid 3.3.18 remediation and Node 24 artifact-upload inventory without unrelated branch rewrites.
Carry the inherited-request-body security slice across the protected exchange media-type integration while preserving the reviewed three-path diff and non-destructive history.
|
@coderabbitai review Review exact current head |
Rate Limit Exceeded
|
Purpose
Harden Noema's credential-egress request-shape policy so
RequestInit.body: nullor explicitundefinedcannot be interpreted as clearing a body already present on an inputRequest. Fetch semantics inherit the source body in those cases, so policy evaluation must reject the effective body-bearing request.Exact identities
4573a6f7eaf904e19a6e3198c8cabcfd4be40c405699f83807c550f21c5d256218af9d8569b08cf1a8658f034adfcc71c7e0af651f319dd651ed5603fix/outbound-request-body-inheritanceDefect and GREEN
The RED supplies a body-bearing source
Requestto the GitHub OIDC discovery endpoint, then overlaysmethod: GETwithbody: nullor explicitundefined. Both cases must returnblocked-request-policywithout invoking the injected raw fetch.outboundBodyPresent()now treats only a non-null/non-undefinedRequestInit.bodyas an explicit body and otherwise falls back toinput.body. This matches effective Request construction and prevents policy authorization from diverging from the request actually sent. The stale compartment test that assumedbody:nullcleared an inherited body was corrected to the Fetch contract.Restack and merge boundary
The branch is merged with protected
mainafter #272, #266, and #275. Its current three-path diff is limited tosrc/outbound-fetch-policy.tsand two focused test files.Historical exact-head evidence does not transfer to
a8658f034adfcc71c7e0af651f319dd651ed5603. Applicationci,reviewer-ci, protected-base-eligibleSecurity Scan, and fresh review must complete successfully on this unchanged head before merge. Pending, queued, skipped, absent, neutral, failed, cancelled, stale, predecessor, status-only, model-only, or rate-limited evidence is non-passing.No outbound allowlist expansion, request-shape relaxation, audit waiver, protection bypass, dependency change, version bump, release, or deployment claim.