Skip to content

Commit 85759d0

Browse files
[patch] Document the direct Cloud Run client hop (#10)
Co-authored-by: Joe Corall <joe@libops.io>
1 parent 2e401c8 commit 85759d0

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

infrastructure/cloud-compose.mdx

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,10 +177,15 @@ requires explicit original-client CIDRs in
177177
private or Direct VPC ranges. PPB reads from the right edge of
178178
`X-Forwarded-For`, denies a missing or too-short trusted chain, and uses
179179
`power_button_ip_depth` when another trusted proxy is appended after the
180-
client. The hosted direct-Cloud-Run test must prove an attacker-supplied prefix
181-
cannot change the selected client. Treat this as a wake-up filter, not as a
182-
replacement for application authentication or a controlled load
183-
balancer/Cloud Armor policy.
180+
client. For the tested direct public Cloud Run PPB URL, the proven value is
181+
`power_button_ip_depth = 0`: Google appends the original client as the
182+
rightmost value. The hosted hostile-prefix contract must remain in release CI;
183+
it supplies an attacker-controlled left prefix and proves that depth zero still
184+
selects the real runner. Do not reuse that value behind an external load
185+
balancer or router. Each additional topology needs its own test of the exact
186+
larger right-edge suffix appended by trusted intermediaries before its larger
187+
depth is accepted. Treat this as a wake-up filter, not as a replacement for
188+
application authentication or a controlled load balancer/Cloud Armor policy.
184189

185190
Google recommends an egress-aware startup probe for ordinary Direct VPC
186191
services. The power-button proxy cannot use application reachability as its

0 commit comments

Comments
 (0)