Commit e28abcb
committed
fix(provision): guard chown target against filesystem root in init-container
In a k8s init container only the workspace dir is mounted (subPath), so
filepath.Dir(HostPath) resolves to "/" for HostPath=/workspace — the chown
would recurse over the entire container root (chown -R 1000:1000 /). Today it's
masked by dropped capabilities + a non-root security context (chown fails
silently, provisioning still succeeds), but it's a correctness defect and a
latent security hazard if that security context is ever relaxed.
Extract the target computation into a testable chownTarget() helper that falls
back to the workspace dir itself when the parent is "/" or ".", preserving
broker-side behavior (chown the project root). Add unit coverage.
Review finding from PR #172 (medium severity, required fix).1 parent 6b7c6b3 commit e28abcb
2 files changed
Lines changed: 43 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
215 | 215 | | |
216 | 216 | | |
217 | 217 | | |
218 | | - | |
219 | | - | |
220 | | - | |
| 218 | + | |
| 219 | + | |
221 | 220 | | |
222 | 221 | | |
223 | 222 | | |
| |||
405 | 404 | | |
406 | 405 | | |
407 | 406 | | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
408 | 424 | | |
409 | 425 | | |
410 | 426 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
101 | 125 | | |
102 | 126 | | |
103 | 127 | | |
| |||
0 commit comments