Skip to content

fix: patch HTTP/2 dependencies and cover transport regressions - #3

Merged
MudassarTariq merged 2 commits into
mainfrom
fix/security-http2-dependencies
Oct 24, 2026
Merged

MudassarTariq merged 2 commits into
mainfrom
fix/security-http2-dependencies

Conversation

@MudassarTariq

@MudassarTariq MudassarTariq commented Oct 24, 2026 •

Copy link
Copy Markdown
Member

The plugin pins golang.org/x/net 0.58.0, which is affected by the October HTTP/2 security advisories. Update it to 0.60.0 with the required x/mod, x/sync, x/sys and x/text versions, and document the patched Go toolchain needed when rebuilding deployed binaries. The plugin SDK, production Go source and configuration contract remain unchanged.

Cover authenticated GET and JSON POST requests over TLS/HTTP/2, response decoding, and conflicting Content-Length response headers. The malformed-header regression fails against the previous dependency with -tags=http2legacy and passes after the update. Test both transport implementations because Go 1.27 uses the standard-library HTTP/2 transport by default.

Add a plugin integration test that initializes the production plugin and runs SyncAll against a local HTTP server. It checks all five tables, lookup by IP and ASN, JSON user-agent requests, optional modules, array flattening, NULLs for unrequested fields, table filtering, caller-IP lookup, migration messages, CloudQuery IDs and emitted Arrow rows. The same integration test also passes against the original dependency set.

Add Linux CI on Go 1.26.10 and 1.27.3, with both race-enabled test modes, module verification, vet, a static Linux build and pinned govulncheck. Workflow actions are pinned to verified commit hashes and the workflow only needs read access.

Validation:

  • macOS arm64, Go 1.26.10 and 1.27.3: 101 tests/subtests pass in each default and legacy HTTP/2 race-enabled run.
  • Both local toolchains: builds, go vet ./... and go mod verify pass; govulncheck ./... reports no reachable-vulnerability findings.
  • The new sync integration test passes with race detection against both the original and updated dependency sets.
  • Linux amd64 CI on commit 842cd2f: both Go 1.26.10 and 1.27.3 jobs pass, including both race-enabled test modes, module verification, vet, static builds and govulncheck (no reachable-vulnerability findings).
  • The original Linux amd64 cross-build and vulnerability scan also passed.

Tests use local HTTP servers and need no API key. A live authenticated API sync, external CloudQuery CLI/destination and deployed binaries were not tested; deployed binaries still need to be rebuilt after merging. This change publishes no releases or images.

Advisories: GO-2026-6603, GO-2026-6610, GO-2026-6611, GO-2026-6612, GO-2026-6617.

@MudassarTariq
MudassarTariq merged commit 8489d08 into main Oct 24, 2026
2 checks passed
@MudassarTariq
MudassarTariq deleted the fix/security-http2-dependencies branch October 24, 2026 17:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant