Skip to content

chore(cli): align indirect x/crypto with the server (v0.52.0 → v0.54.0)#150

Merged
dvcdsys merged 1 commit into
developfrom
chore/cli-xcrypto-align
Jul 19, 2026
Merged

chore(cli): align indirect x/crypto with the server (v0.52.0 → v0.54.0)#150
dvcdsys merged 1 commit into
developfrom
chore/cli-xcrypto-align

Conversation

@dvcdsys

@dvcdsys dvcdsys commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Brings develop level with main, which is ahead by exactly this change
(everything else already reached develop via cherry-picks).

What this is

The CLI resolved golang.org/x/crypto to v0.52.0 while the server requires
v0.54.0. This aligns them, and carries the x/sys and x/text bumps that came
along with the upgrade.

Pure hygiene — it changes no vulnerability status. govulncheck reports 0
before and after.

What it deliberately does NOT do

It does not address GO-2026-5932 (x/crypto/openpgp is unmaintained and
unsafe by design), and nothing can: that advisory has Fixed in: N/A, because
the upstream remedy is "stop using the package", not "upgrade".

It is also a non-issue for this binary — verified three ways:

  • go list -deps ./... does not include openpgp at all;
  • the released cix binary contains zero references to it
    (strings | grep -c crypto/openpgp → 0);
  • source-mode govulncheck (real reachability analysis) reports 0.

It only appears when scanning the released binary with -mode=binary: release
builds are stripped (-ldflags "-s -w"), so govulncheck cannot do symbol
analysis and falls back to module-level reporting. Its own output gives this
away — the "vulnerable symbols" are package wildcards (openpgp/armor/*,
openpgp/clearsign/*) rather than concrete called symbols. x/crypto is pulled
in solely for sha3, via go-playground/validator.

Release status

Nothing is tagged for this. cli/v0.10.1 and server/v0.12.4 are the current
releases and both already contain the real fixes (CLI security rebuild on
go1.25.12, corrected module path, toolchain alignment). This commit would ship
with whatever CLI release comes next — cutting one just for it is not worth it
unless you want the released artifact to carry the newer x/crypto.

🤖 Generated with Claude Code

The CLI resolved golang.org/x/crypto to v0.52.0 while the server requires
v0.54.0. Pure hygiene — it does NOT change the module's vulnerability status:
govulncheck reports 0 before and after.

In particular this does not address GO-2026-5932 (x/crypto/openpgp is
unmaintained and unsafe by design) and nothing can, because that advisory has
no fixed version — the upstream remedy is "do not use the package". It is also
a non-issue here: openpgp is not part of this binary at all. `go list -deps`
does not include it, the released binary contains zero references to it, and
source-mode govulncheck reports 0. It only surfaces when scanning the released
binary in -mode=binary: release builds are stripped (-s -w), so govulncheck
cannot do symbol analysis and falls back to module-level reporting — visible in
its output as package wildcards (`openpgp/armor/*`) rather than real called
symbols. x/crypto is pulled in solely for sha3, via go-playground/validator.

Also carries the x/sys and x/text bumps that came with the upgrade.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@dvcdsys
dvcdsys merged commit 4fcd3f1 into develop Jul 19, 2026
2 checks passed
@dvcdsys
dvcdsys deleted the chore/cli-xcrypto-align branch July 19, 2026 19:52
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