Modernize secrets-init and remediate gRPC authorization bypass - #3
Modernize secrets-init and remediate gRPC authorization bypass#3ibrahimlawal-paystack wants to merge 13 commits into
Conversation
|
@reneed-paystack @husayn-paystack @shabih-paystack CI is green on the current head: https://github.com/ibrahimlawal-paystack/secrets-init/actions/runs/29592815600. Could you please review this modernization and gRPC security update? |
ibrahimlawal-paystack
left a comment
There was a problem hiding this comment.
Bot review: One CI coverage regression remains in the lint migration.
|
@reneed-paystack @husayn-paystack @shabih-paystack The current head is green: https://github.com/ibrahimlawal-paystack/secrets-init/actions/runs/29758982927. It addresses the review feedback and adds immutable action/image pins, tag-only releases, a shared reproducible build path, release checksums, vulnerability gating, and regression coverage for secret-safe logging. Please review the latest head when you can. |
ibrahimlawal-paystack
left a comment
There was a problem hiding this comment.
Bot review: Existing discussion covers the intentional branch glob and the strings.Cut behavior. The runtime and security changes look sound; one release-validation gap remains.
|
@shabih-paystack @husayn-paystack I can't merge or release. I only have read permissions here. Can you please help release so we can verify the fix? |
|
@ibrahimlawal-paystack why are the test results pointing to your fork, and not on this repo itself? |
@husayn-paystack I have only read access to this repo at the moment |
ibrahimlawal-paystack
left a comment
There was a problem hiding this comment.
Bot review: Current-head review retained three release blockers. The prior fork run predates the new Go advisory, Shabih’s approval is on an older head, and PaystackHQ currently has no exact-head status checks; after fixing these findings, the corrected SHA still needs Paystack-owned CI or maintainer attestation before merge or release.
Summary
=by splitting only on the first delimiter.1.26.5, migrate cloud integrations to maintained SDKs, and update mature compatible dependencies.1.82.0, above the patched1.79.3floor for CVE-2026-33186.Security Rationale
CVE-2026-33186 / GHSA-p77j-4mvh-x3m3 is a critical authorization bypass in gRPC-Go. A malformed HTTP/2
:pathwithout the required leading slash could reach a handler while path-based deny rules evaluated a different string. Patched releases reject the non-canonical path before authorization or handler execution.A search of public forks did not identify a maintained patched alternative. Updating the upstream dependency is therefore the stable remediation path. Existing consumer images must also rebuild against a patched secrets-init release; updating only newly introduced base images would leave older consumers carrying the vulnerable binary.
Dependency Policy
1.82.0is mature and remains above the patched floor;1.82.1had not reached the maturity window when this update was prepared.Validation
make verifymake platform-buildmake CGO_ENABLED=1 test-raceactionlint -no-color .github/workflows/*.yamlshellcheck scripts/build.sh scripts/write-checksums.shgovulncheck ./...: zero reachable vulnerabilitiesNotes
Advisory: GHSA-p77j-4mvh-x3m3