Commit b5ff737
fix: normalize file modes in shared data and certs image layers
newDataTarball (the shared layer carrying the function source, static
files and the /func directory itself) and newCertsTarball copied on-disk
file modes into the image verbatim, overriding only Uid/Gid - the same
issue fixed for the python lib layer in the previous commit.
For Go functions this is latent: the binary is self-contained and does
not read those files at runtime, so it "works" as long as the project
directory happens to be 0755 (the default under umask 022). But if the
project directory has a stricter mode (e.g. 0750/0700), /func is baked in
non-traversable and the container cannot reach /func/f under an arbitrary
UID (e.g. OpenShift's restricted SCC) - failing before main runs. It also
hardens the python source files shipped in this shared layer.
Normalize dirs and executables to 0755 and regular files to 0644 (leaving
symlink modes untouched), and force certs to 0644 so any UID (including
group 0) can traverse and read them. The go exec layer already forced
0755 (go_builder.go); this covers the remaining shared layers.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent 4343a3b commit b5ff737
2 files changed
Lines changed: 97 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
381 | 381 | | |
382 | 382 | | |
383 | 383 | | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
384 | 399 | | |
385 | 400 | | |
386 | 401 | | |
| |||
502 | 517 | | |
503 | 518 | | |
504 | 519 | | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
505 | 523 | | |
506 | 524 | | |
507 | 525 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
326 | 326 | | |
327 | 327 | | |
328 | 328 | | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
329 | 408 | | |
330 | 409 | | |
331 | 410 | | |
| |||
0 commit comments