Repository navigation
fix: update Go security patch and vulnerable dependencies - #256
Conversation
|
Review of e91d101:
No remaining code-level blocker identified in the reviewed diff. Merge remains conditional on the exact final head passing all hosted checks, including all 31 packaged modules, 62 Linux symbol scans, dual-architecture artifacts and runtime/service suites. This is an author/maintainer review under the documented single-maintainer policy, not an independent approval. No AWS test or release has been performed yet. |
|
Final acceptance: CI run 39878398716 completed successfully for exact reviewed head e91d101, including Full regression and runtime acceptance. All 31 module reports and all 62 scanner logs were inspected; no vulnerability findings remain in the scanned package closures. No remaining review blocker. Proceeding with the user-authorized squash merge and separate unified release preparation; issue #255 remains open until publication and acceptance are complete. |
Issue
Refs #255
Summary
Require Go 1.27.3 across the independent modules and update vulnerable dependency selections: x/net to v0.61.0 (which selects x/crypto v0.58.0), x/text to v0.43.0, x/sys to v0.49.0, and gRPC to v1.83.2. Go 1.27.3 includes the latest crypto/x509 correction; the prior 1.27.2 fixes cover the October TLS/HTTP/template advisories.
Use pinned govulncheck v1.9.0 against each extracted module archive on Linux amd64 and arm64 with GOWORK=off. Reachable findings fail existing module acceptance; verbose evidence accompanies the report. Migrate the private Avro codec from archived Hamba v2.31.0 to the maintained iskorotkov v2.34.0 with explicit byte/array/map limits, retaining the existing first-party cumulative item budget. GO-2026-5046/5047/5048 blocked the first full CI run; no advisory is suppressed. Failed scanner output is saved before propagating its error. Keep root Commons dependency-free, JSON v2, CGO disabled, and the frozen X-Ray adapter without new features.
Testing
Passed: full 31-module metadata tidy, actionlint, 28 contribution-policy tests, 24 CI selection/gate/evidence tests, and all 31 module license/notice checks.
Before-upgrade isolated Linux source scans: Tracer reports 10 reachable standard-library advisories plus 5 imported-package findings; KMS reports 9 reachable standard-library advisories plus 3 package and 2 module findings.
Local Docker engine is stopped. Full packaged tests, vulnerability scans, dual-architecture Lambda builds, DynamoDB Local, runtime simulation, docs and release tooling must pass in hosted CI before merge.
Two additional baseline scans were interrupted by local disk exhaustion; they are not clean results. Only reproducible compilation/module caches were removed to restore capacity.
Avro targeted acceptance: tests, vet, tidy and Linux amd64/arm64 symbol scans passed. Resume only consumer/isolation checks after the full graph exposed upstream lint-tool Protobuf dependencies; compiled Lambda imports must remain Protobuf-free.
Update frozen X-Ray source dependencies to fasthttp v1.70.0 and compress v1.18.7; the adapter remains deprecated and excluded from new publication. Retain all upstream tool dependencies in inventory while checking Avro runtime isolation on both Lambda architectures.
Final hosted CI 39878398716 passed on e91d101: all 31 packaged modules, 28 standalone consumers, all 62 Linux amd64/arm64 symbol scans with no reported findings, both static Lambda artifacts, Runtime simulation, DynamoDB Local, docs and release tooling. Full regression and contribution policy passed. Raw scan evidence is retained in the CI artifacts.
Risks and compatibility
The minimum Go patch increases to 1.27.3. Existing Lambda binaries need rebuilding; updating source dependencies does not patch deployed artifacts. x/text updates Unicode tables, covered by Validation regression tests. Vulnerability results reflect the current public Go database and symbol reachability rather than proof of exploitability or freedom from future advisories. The next unified cohort also includes the existing Logger stacks Preview; its Preview status is retained, and availability comments no longer falsely restrict tagged code to main. This PR does not publish versions; reviewed unified release preparation follows its merge.
Release notes
Checklist