Skip to content

deps: bump x/net, x/text and Go toolchain to clear CVEs - #635

Merged
Ruinan Liu (ruinan-liu) merged 1 commit into
Azure:mainfrom
makowda:mohamedowda/cve-bump-xnet-xtext-toolchain
Aug 7, 2026
Merged

deps: bump x/net, x/text and Go toolchain to clear CVEs#635
Ruinan Liu (ruinan-liu) merged 1 commit into
Azure:mainfrom
makowda:mohamedowda/cve-bump-xnet-xtext-toolchain

Conversation

@makowda

@makowda makowda commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

What

Bumps golang.org/x/net, golang.org/x/text and the Go toolchain to clear CVEs reported against eno-controller and eno-reconciler at v0.2.15, which is the currently deployed tag in AKS.

-toolchain go1.25.11              +toolchain go1.25.12
-golang.org/x/net  v0.54.0        +golang.org/x/net  v0.56.0
-golang.org/x/text v0.37.0        +golang.org/x/text v0.39.0

x/sync, x/sys and x/term moved as transitive consequences of go mod tidy. No source changes.

Why

Trivy reports 11 findings against v0.2.15 (5 HIGH, 5 MEDIUM, 1 UNKNOWN):

Library Version CVEs
golang.org/x/net v0.54.0 CVE-2026-25680, -25681, -27136, -39821, -42502, -42506, -46600
golang.org/x/text v0.37.0 CVE-2026-56852
stdlib 1.25.11 CVE-2026-39822, CVE-2026-42505
github.com/google/cel-go v0.26.1 GHSA-gcjh-h69q-9w9g

CVE-2026-46600 requires x/net ≥ 0.56.0, which is why this goes to 0.56.0 rather than 0.55.0.

cel-go is not included here — it is already handled by #632. With both merged, each image reaches 0.

Verification — CVEs cleared

Built both images from this branch and from unmodified v0.2.15, then scanned each with the same trivy build.

$ docker run --rm -v /tmp/trivy-cache:/root/.cache \
    mcr.microsoft.com/oss/v2/aquasecurity/trivy:v0.72.0-5 \
    image --skip-version-check eno-eno-controller:baseline-v0.2.15

│ eno-controller │ gobinary │       11        │
Total: 11 (UNKNOWN: 1, LOW: 0, MEDIUM: 5, HIGH: 5, CRITICAL: 0)
$ docker run --rm -v /tmp/trivy-cache:/root/.cache \
    mcr.microsoft.com/oss/v2/aquasecurity/trivy:v0.72.0-5 \
    image --skip-version-check eno-eno-controller:fixed

│ eno-controller │ gobinary │        1        │
Total: 1 (UNKNOWN: 0, LOW: 0, MEDIUM: 1, HIGH: 0, CRITICAL: 0)

│ github.com/google/cel-go │ GHSA-gcjh-h69q-9w9g │ MEDIUM │ fixed │ v0.26.1 │ 0.29.0 │
Image Before After
eno-controller 11 1 (cel-go, covered by #632)
eno-reconciler 11 1 (cel-go, covered by #632)

All 5 HIGH cleared on both images.

Verification — no behavioral regression

Full unit suite via the make test invocation (setup-envtest, k8s 1.36.2 assets), run against unmodified v0.2.15 and against this branch.

baseline v0.2.15 this branch
packages ok 24 24
failing tests 2 2

Identical, and the two failures are pre-existing on unmodified v0.2.15:

--- FAIL: TestHelmOwnershipTransfer
--- FAIL: TestHelmOwnershipTransferAfterCreation

One run on this branch additionally showed TestOverrideVPAUpdateMode failing. I chased it rather than assuming it was noise:

  • -run '^TestOverrideVPAUpdateMode$' -count=55/5 pass
  • full ./internal/controllers/reconciliation package, 3 repeats → 3/3 pass, only the two pre-existing failures each time

It is a flaky envtest under parallel load, not a consequence of this change.

Note on bewang/cves

That branch also touches these dependencies but moves them backwards (toolchain 1.25.11 → 1.25.9, x/net 0.54.0 → 0.43.0, x/text 0.37.0 → 0.28.0) — it predates current main, so merging it would increase the CVE count. Flagging so it isn't mistaken for an existing fix.

Clears 10 of 11 trivy findings on eno-controller and eno-reconciler v0.2.15
(5 HIGH, 4 MEDIUM, 1 UNKNOWN):

  golang.org/x/net  v0.54.0 -> v0.56.0   CVE-2026-25680/25681/27136/39821/42502/42506/46600
  golang.org/x/text v0.37.0 -> v0.39.0   CVE-2026-56852
  toolchain go1.25.11 -> go1.25.12       CVE-2026-39822, CVE-2026-42505 (stdlib)

x/sync, x/sys and x/term moved as transitive consequences of go mod tidy.

The remaining finding is github.com/google/cel-go GHSA-gcjh-h69q-9w9g, already
addressed by Azure#632.

Verified by building both images from this branch and scanning with trivy:
eno-controller 11 -> 1, eno-reconciler 11 -> 1. Unit tests show no regression -
the same two pre-existing failures (TestHelmOwnershipTransfer,
TestHelmOwnershipTransferAfterCreation) on both baseline and this branch.
@makowda

makowda commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author
mohamedowda@TDC373940796:~/go/src/go.goms.io/aks$ cd ~/go/src/go.goms.io/aks/copilot-implementations/cve-fixes-20260805/eno-image-cve-fix && ./VERIFY-eno-cve-fix.sh 
workdir: /tmp/eno-cve-verify.tTYjH7

=== STEP 1: clone eno and fetch the PR branch ===
+ git clone --quiet https://github.com/Azure/eno /tmp/eno-cve-verify.tTYjH7/eno
+ git -C /tmp/eno-cve-verify.tTYjH7/eno remote add fork https://github.com/makowda/eno
+ git -C /tmp/eno-cve-verify.tTYjH7/eno fetch --quiet fork mohamedowda/cve-bump-xnet-xtext-toolchain
+ set +x
042d47c (HEAD -> main, tag: v0.2.15, origin/official/v20260730, origin/main, origin/HEAD) [eno] Nit update for eno 1.34 (#633)
615b6fb (fork/mohamedowda/cve-bump-xnet-xtext-toolchain) deps: bump x/net, x/text and Go toolchain to clear CVEs

=== STEP 2: what the fix actually changes ===
+ git -C /tmp/eno-cve-verify.tTYjH7/eno --no-pager diff v0.2.15..fork/mohamedowda/cve-bump-xnet-xtext-toolchain -- go.mod
diff --git a/go.mod b/go.mod
index cdee848..c8ad435 100644
--- a/go.mod
+++ b/go.mod
@@ -2,7 +2,7 @@ module github.com/Azure/eno
 
 go 1.25.0
 
-toolchain go1.25.11
+toolchain go1.25.12
 
 require (
        github.com/Azure/go-workflow v0.1.13
@@ -67,12 +67,12 @@ require (
        go.yaml.in/yaml/v2 v2.4.3 // indirect
        go.yaml.in/yaml/v3 v3.0.4 // indirect
        golang.org/x/exp v0.0.0-20250819193227-8b4c13bb791b // indirect
-       golang.org/x/net v0.54.0 // indirect
+       golang.org/x/net v0.56.0 // indirect
        golang.org/x/oauth2 v0.34.0 // indirect
-       golang.org/x/sync v0.20.0 // indirect
-       golang.org/x/sys v0.45.0 // indirect
-       golang.org/x/term v0.43.0 // indirect
-       golang.org/x/text v0.37.0 // indirect
+       golang.org/x/sync v0.21.0 // indirect
+       golang.org/x/sys v0.46.0 // indirect
+       golang.org/x/term v0.44.0 // indirect
+       golang.org/x/text v0.39.0 // indirect
        gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect
        google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 // indirect
        google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect
+ set +x

############################################################
#  eno-controller
############################################################

=== STEP 3: build BEFORE image, from released tag v0.2.15 ===
+ git -C /tmp/eno-cve-verify.tTYjH7/eno checkout --quiet v0.2.15
+ docker build -q -f /tmp/eno-cve-verify.tTYjH7/eno/docker/eno-controller/Dockerfile -t eno-controller:v0.2.15-asreleased /tmp/eno-cve-verify.tTYjH7/eno
sha256:79cec22eb142c96bce22d0217959747e685199d9faf74dff694361511b2147e3
+ set +x

=== STEP 4: build AFTER image, from PR #635 branch ===
+ git -C /tmp/eno-cve-verify.tTYjH7/eno checkout --quiet fork/mohamedowda/cve-bump-xnet-xtext-toolchain
+ docker build -q -f /tmp/eno-cve-verify.tTYjH7/eno/docker/eno-controller/Dockerfile -t eno-controller:pr635 /tmp/eno-cve-verify.tTYjH7/eno
sha256:15578314b80a0687a794668c68087aa6abdaf5973a07e119b13f9afe3631f4c1
+ set +x

=== STEP 5: scan BEFORE ===
+ docker run --rm -v /tmp/trivy-cache:/root/.cache -v /var/run/docker.sock:/var/run/docker.sock mcr.microsoft.com/oss/v2/aquasecurity/trivy:v0.72.0-5 image --skip-version-check eno-controller:v0.2.15-asreleased
+ sed 's/\x1b\[[0-9;]*m//g'
2026-08-07T19:44:04Z    INFO    [vuln] Vulnerability scanning is enabled
2026-08-07T19:44:04Z    INFO    [secret] Secret scanning is enabled
2026-08-07T19:44:04Z    INFO    [secret] If your scanning is slow, please try '--scanners vuln' to disable secret scanning
2026-08-07T19:44:04Z    INFO    [secret] Please see https://trivy.dev/docs/v0.72/guide/scanner/secret#recommendation for faster secret detection
2026-08-07T19:44:04Z    INFO    Detected OS     family="debian" version="13.6"
2026-08-07T19:44:04Z    INFO    [debian] Detecting vulnerabilities...   os_version="13" pkg_num=5
2026-08-07T19:44:04Z    INFO    Number of language-specific files       num=1
2026-08-07T19:44:04Z    INFO    [gobinary] Detecting vulnerabilities...
2026-08-07T19:44:04Z    WARN    Using severities from other vendors for some vulnerabilities. Read https://trivy.dev/docs/v0.72/guide/scanner/vulnerability#severity-selection for details.

Report Summary

┌─────────────────────────────────────────────────┬──────────┬─────────────────┬─────────┐
│                     Target                      │   Type   │ Vulnerabilities │ Secrets │
├─────────────────────────────────────────────────┼──────────┼─────────────────┼─────────┤
│ eno-controller:v0.2.15-asreleased (debian 13.6) │  debian  │        0        │    -    │
├─────────────────────────────────────────────────┼──────────┼─────────────────┼─────────┤
│ eno-controller                                  │ gobinary │       11        │    -    │
└─────────────────────────────────────────────────┴──────────┴─────────────────┴─────────┘
Legend:
- '-': Not scanned
- '0': Clean (no security findings detected)


eno-controller (gobinary)
=========================
Total: 11 (UNKNOWN: 1, LOW: 0, MEDIUM: 5, HIGH: 5, CRITICAL: 0)

┌──────────────────────────┬─────────────────────┬──────────┬────────┬───────────────────┬──────────────────────────────┬──────────────────────────────────────────────────────────────┐
│         Library          │    Vulnerability    │ Severity │ Status │ Installed Version │        Fixed Version         │                            Title                             │
├──────────────────────────┼─────────────────────┼──────────┼────────┼───────────────────┼──────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ github.com/google/cel-go │ GHSA-gcjh-h69q-9w9g │ MEDIUM   │ fixed  │ v0.26.1           │ 0.29.0                       │ cel-go: JSON Private Fields Exposed via NativeTypes and      │
│                          │                     │          │        │                   │                              │ ParseStructTag                                               │
│                          │                     │          │        │                   │                              │ https://github.com/advisories/GHSA-gcjh-h69q-9w9g            │
├──────────────────────────┼─────────────────────┼──────────┤        ├───────────────────┼──────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ golang.org/x/net         │ CVE-2026-25681      │ HIGH     │        │ v0.54.0           │ 0.55.0                       │ golang.org/x/net/html: golang.org/x/net/html: Arbitrary code │
│                          │                     │          │        │                   │                              │ execution via Cross-Site Scripting                           │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-25681                   │
│                          ├─────────────────────┤          │        │                   │                              ├──────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-27136      │          │        │                   │                              │ golang.org/x/net/html: golang: golang.org/x/net/html:        │
│                          │                     │          │        │                   │                              │ Cross-Site Scripting via HTML parsing bypass                 │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-27136                   │
│                          ├─────────────────────┤          │        │                   │                              ├──────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-39821      │          │        │                   │                              │ golang.org/x/net/idna: golang: net/http:                     │
│                          │                     │          │        │                   │                              │ golang.org/x/net/idna: Privilege escalation via incorrect    │
│                          │                     │          │        │                   │                              │ Punycode label processing                                    │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-39821                   │
│                          ├─────────────────────┼──────────┤        │                   │                              ├──────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-25680      │ MEDIUM   │        │                   │                              │ golang.org/x/net/html: golang.org/x/net/html: Denial of      │
│                          │                     │          │        │                   │                              │ Service due to excessive HTML parsing                        │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-25680                   │
│                          ├─────────────────────┤          │        │                   │                              ├──────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-42502      │          │        │                   │                              │ golang.org/x/net/html: golang: golang.org/x/net/html:        │
│                          │                     │          │        │                   │                              │ Cross-Site Scripting via unexpected HTML tree rendering      │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-42502                   │
│                          ├─────────────────────┤          │        │                   │                              ├──────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-42506      │          │        │                   │                              │ golang.org/x/net/html: golang.org/x/net/html: Cross-Site     │
│                          │                     │          │        │                   │                              │ Scripting (XSS) via arbitrary HTML parsing                   │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-42506                   │
│                          ├─────────────────────┼──────────┤        │                   ├──────────────────────────────┼──────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-46600      │ UNKNOWN  │        │                   │ 0.56.0                       │ Parsing an invalid SVCB or HTTPS RR can panic when the       │
│                          │                     │          │        │                   │                              │ size...                                                      │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-46600                   │
├──────────────────────────┼─────────────────────┼──────────┤        ├───────────────────┼──────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ golang.org/x/text        │ CVE-2026-56852      │ HIGH     │        │ v0.37.0           │ 0.39.0                       │ golang.org/x/text: golang.org/x/text: Denial of Service via  │
│                          │                     │          │        │                   │                              │ invalid UTF-8 input                                          │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-56852                   │
├──────────────────────────┼─────────────────────┤          │        ├───────────────────┼──────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ stdlib                   │ CVE-2026-39822      │          │        │ v1.25.11          │ 1.25.12, 1.26.5, 1.27.0-rc.2 │ golang: Go os.Root: Symlink following vulnerability allows   │
│                          │                     │          │        │                   │                              │ directory traversal                                          │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-39822                   │
│                          ├─────────────────────┼──────────┤        │                   │                              ├──────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-42505      │ MEDIUM   │        │                   │                              │ crypto/tls: golang: Go crypto/tls: Information disclosure in │
│                          │                     │          │        │                   │                              │ Encrypted Client Hello                                       │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-42505                   │
└──────────────────────────┴─────────────────────┴──────────┴────────┴───────────────────┴──────────────────────────────┴──────────────────────────────────────────────────────────────┘
+ set +x

=== STEP 6: scan AFTER ===
+ docker run --rm -v /tmp/trivy-cache:/root/.cache -v /var/run/docker.sock:/var/run/docker.sock mcr.microsoft.com/oss/v2/aquasecurity/trivy:v0.72.0-5 image --skip-version-check eno-controller:pr635
+ sed 's/\x1b\[[0-9;]*m//g'
2026-08-07T19:44:04Z    INFO    [vuln] Vulnerability scanning is enabled
2026-08-07T19:44:04Z    INFO    [secret] Secret scanning is enabled
2026-08-07T19:44:04Z    INFO    [secret] If your scanning is slow, please try '--scanners vuln' to disable secret scanning
2026-08-07T19:44:04Z    INFO    [secret] Please see https://trivy.dev/docs/v0.72/guide/scanner/secret#recommendation for faster secret detection
2026-08-07T19:44:04Z    INFO    Detected OS     family="debian" version="13.6"
2026-08-07T19:44:04Z    INFO    [debian] Detecting vulnerabilities...   os_version="13" pkg_num=5
2026-08-07T19:44:04Z    INFO    Number of language-specific files       num=1
2026-08-07T19:44:04Z    INFO    [gobinary] Detecting vulnerabilities...

Report Summary

┌────────────────────────────────────┬──────────┬─────────────────┬─────────┐
│               Target               │   Type   │ Vulnerabilities │ Secrets │
├────────────────────────────────────┼──────────┼─────────────────┼─────────┤
│ eno-controller:pr635 (debian 13.6) │  debian  │        0        │    -    │
├────────────────────────────────────┼──────────┼─────────────────┼─────────┤
│ eno-controller                     │ gobinary │        1        │    -    │
└────────────────────────────────────┴──────────┴─────────────────┴─────────┘
Legend:
- '-': Not scanned
- '0': Clean (no security findings detected)


eno-controller (gobinary)
=========================
Total: 1 (UNKNOWN: 0, LOW: 0, MEDIUM: 1, HIGH: 0, CRITICAL: 0)

┌──────────────────────────┬─────────────────────┬──────────┬────────┬───────────────────┬───────────────┬─────────────────────────────────────────────────────────┐
│         Library          │    Vulnerability    │ Severity │ Status │ Installed Version │ Fixed Version │                          Title                          │
├──────────────────────────┼─────────────────────┼──────────┼────────┼───────────────────┼───────────────┼─────────────────────────────────────────────────────────┤
│ github.com/google/cel-go │ GHSA-gcjh-h69q-9w9g │ MEDIUM   │ fixed  │ v0.26.1           │ 0.29.0        │ cel-go: JSON Private Fields Exposed via NativeTypes and │
│                          │                     │          │        │                   │               │ ParseStructTag                                          │
│                          │                     │          │        │                   │               │ https://github.com/advisories/GHSA-gcjh-h69q-9w9g       │
└──────────────────────────┴─────────────────────┴──────────┴────────┴───────────────────┴───────────────┴─────────────────────────────────────────────────────────┘
+ set +x

############################################################
#  eno-reconciler
############################################################

=== STEP 3: build BEFORE image, from released tag v0.2.15 ===
+ git -C /tmp/eno-cve-verify.tTYjH7/eno checkout --quiet v0.2.15
+ docker build -q -f /tmp/eno-cve-verify.tTYjH7/eno/docker/eno-reconciler/Dockerfile -t eno-reconciler:v0.2.15-asreleased /tmp/eno-cve-verify.tTYjH7/eno
sha256:1219911c2aa6b729bdb7325e30c417348a7a4a51431ed6de8816054099b6c85a
+ set +x

=== STEP 4: build AFTER image, from PR #635 branch ===
+ git -C /tmp/eno-cve-verify.tTYjH7/eno checkout --quiet fork/mohamedowda/cve-bump-xnet-xtext-toolchain
+ docker build -q -f /tmp/eno-cve-verify.tTYjH7/eno/docker/eno-reconciler/Dockerfile -t eno-reconciler:pr635 /tmp/eno-cve-verify.tTYjH7/eno
sha256:b900fbc26bb249b541857962af0a239f040a59b235be6bb6b06b58d2844a7edb
+ set +x

=== STEP 5: scan BEFORE ===
+ docker run --rm -v /tmp/trivy-cache:/root/.cache -v /var/run/docker.sock:/var/run/docker.sock mcr.microsoft.com/oss/v2/aquasecurity/trivy:v0.72.0-5 image --skip-version-check eno-reconciler:v0.2.15-asreleased
+ sed 's/\x1b\[[0-9;]*m//g'
2026-08-07T19:44:16Z    INFO    [vuln] Vulnerability scanning is enabled
2026-08-07T19:44:16Z    INFO    [secret] Secret scanning is enabled
2026-08-07T19:44:16Z    INFO    [secret] If your scanning is slow, please try '--scanners vuln' to disable secret scanning
2026-08-07T19:44:16Z    INFO    [secret] Please see https://trivy.dev/docs/v0.72/guide/scanner/secret#recommendation for faster secret detection
2026-08-07T19:44:16Z    INFO    Detected OS     family="debian" version="13.6"
2026-08-07T19:44:16Z    INFO    [debian] Detecting vulnerabilities...   os_version="13" pkg_num=5
2026-08-07T19:44:16Z    INFO    Number of language-specific files       num=1
2026-08-07T19:44:16Z    INFO    [gobinary] Detecting vulnerabilities...
2026-08-07T19:44:16Z    WARN    Using severities from other vendors for some vulnerabilities. Read https://trivy.dev/docs/v0.72/guide/scanner/vulnerability#severity-selection for details.

Report Summary

┌─────────────────────────────────────────────────┬──────────┬─────────────────┬─────────┐
│                     Target                      │   Type   │ Vulnerabilities │ Secrets │
├─────────────────────────────────────────────────┼──────────┼─────────────────┼─────────┤
│ eno-reconciler:v0.2.15-asreleased (debian 13.6) │  debian  │        0        │    -    │
├─────────────────────────────────────────────────┼──────────┼─────────────────┼─────────┤
│ eno-reconciler                                  │ gobinary │       11        │    -    │
└─────────────────────────────────────────────────┴──────────┴─────────────────┴─────────┘
Legend:
- '-': Not scanned
- '0': Clean (no security findings detected)


eno-reconciler (gobinary)
=========================
Total: 11 (UNKNOWN: 1, LOW: 0, MEDIUM: 5, HIGH: 5, CRITICAL: 0)

┌──────────────────────────┬─────────────────────┬──────────┬────────┬───────────────────┬──────────────────────────────┬──────────────────────────────────────────────────────────────┐
│         Library          │    Vulnerability    │ Severity │ Status │ Installed Version │        Fixed Version         │                            Title                             │
├──────────────────────────┼─────────────────────┼──────────┼────────┼───────────────────┼──────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ github.com/google/cel-go │ GHSA-gcjh-h69q-9w9g │ MEDIUM   │ fixed  │ v0.26.1           │ 0.29.0                       │ cel-go: JSON Private Fields Exposed via NativeTypes and      │
│                          │                     │          │        │                   │                              │ ParseStructTag                                               │
│                          │                     │          │        │                   │                              │ https://github.com/advisories/GHSA-gcjh-h69q-9w9g            │
├──────────────────────────┼─────────────────────┼──────────┤        ├───────────────────┼──────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ golang.org/x/net         │ CVE-2026-25681      │ HIGH     │        │ v0.54.0           │ 0.55.0                       │ golang.org/x/net/html: golang.org/x/net/html: Arbitrary code │
│                          │                     │          │        │                   │                              │ execution via Cross-Site Scripting                           │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-25681                   │
│                          ├─────────────────────┤          │        │                   │                              ├──────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-27136      │          │        │                   │                              │ golang.org/x/net/html: golang: golang.org/x/net/html:        │
│                          │                     │          │        │                   │                              │ Cross-Site Scripting via HTML parsing bypass                 │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-27136                   │
│                          ├─────────────────────┤          │        │                   │                              ├──────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-39821      │          │        │                   │                              │ golang.org/x/net/idna: golang: net/http:                     │
│                          │                     │          │        │                   │                              │ golang.org/x/net/idna: Privilege escalation via incorrect    │
│                          │                     │          │        │                   │                              │ Punycode label processing                                    │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-39821                   │
│                          ├─────────────────────┼──────────┤        │                   │                              ├──────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-25680      │ MEDIUM   │        │                   │                              │ golang.org/x/net/html: golang.org/x/net/html: Denial of      │
│                          │                     │          │        │                   │                              │ Service due to excessive HTML parsing                        │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-25680                   │
│                          ├─────────────────────┤          │        │                   │                              ├──────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-42502      │          │        │                   │                              │ golang.org/x/net/html: golang: golang.org/x/net/html:        │
│                          │                     │          │        │                   │                              │ Cross-Site Scripting via unexpected HTML tree rendering      │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-42502                   │
│                          ├─────────────────────┤          │        │                   │                              ├──────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-42506      │          │        │                   │                              │ golang.org/x/net/html: golang.org/x/net/html: Cross-Site     │
│                          │                     │          │        │                   │                              │ Scripting (XSS) via arbitrary HTML parsing                   │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-42506                   │
│                          ├─────────────────────┼──────────┤        │                   ├──────────────────────────────┼──────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-46600      │ UNKNOWN  │        │                   │ 0.56.0                       │ Parsing an invalid SVCB or HTTPS RR can panic when the       │
│                          │                     │          │        │                   │                              │ size...                                                      │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-46600                   │
├──────────────────────────┼─────────────────────┼──────────┤        ├───────────────────┼──────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ golang.org/x/text        │ CVE-2026-56852      │ HIGH     │        │ v0.37.0           │ 0.39.0                       │ golang.org/x/text: golang.org/x/text: Denial of Service via  │
│                          │                     │          │        │                   │                              │ invalid UTF-8 input                                          │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-56852                   │
├──────────────────────────┼─────────────────────┤          │        ├───────────────────┼──────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ stdlib                   │ CVE-2026-39822      │          │        │ v1.25.11          │ 1.25.12, 1.26.5, 1.27.0-rc.2 │ golang: Go os.Root: Symlink following vulnerability allows   │
│                          │                     │          │        │                   │                              │ directory traversal                                          │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-39822                   │
│                          ├─────────────────────┼──────────┤        │                   │                              ├──────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-42505      │ MEDIUM   │        │                   │                              │ crypto/tls: golang: Go crypto/tls: Information disclosure in │
│                          │                     │          │        │                   │                              │ Encrypted Client Hello                                       │
│                          │                     │          │        │                   │                              │ https://avd.aquasec.com/nvd/cve-2026-42505                   │
└──────────────────────────┴─────────────────────┴──────────┴────────┴───────────────────┴──────────────────────────────┴──────────────────────────────────────────────────────────────┘
+ set +x

=== STEP 6: scan AFTER ===
+ docker run --rm -v /tmp/trivy-cache:/root/.cache -v /var/run/docker.sock:/var/run/docker.sock mcr.microsoft.com/oss/v2/aquasecurity/trivy:v0.72.0-5 image --skip-version-check eno-reconciler:pr635
+ sed 's/\x1b\[[0-9;]*m//g'
2026-08-07T19:44:17Z    INFO    [vuln] Vulnerability scanning is enabled
2026-08-07T19:44:17Z    INFO    [secret] Secret scanning is enabled
2026-08-07T19:44:17Z    INFO    [secret] If your scanning is slow, please try '--scanners vuln' to disable secret scanning
2026-08-07T19:44:17Z    INFO    [secret] Please see https://trivy.dev/docs/v0.72/guide/scanner/secret#recommendation for faster secret detection
2026-08-07T19:44:17Z    INFO    Detected OS     family="debian" version="13.6"
2026-08-07T19:44:17Z    INFO    [debian] Detecting vulnerabilities...   os_version="13" pkg_num=5
2026-08-07T19:44:17Z    INFO    Number of language-specific files       num=1
2026-08-07T19:44:17Z    INFO    [gobinary] Detecting vulnerabilities...

Report Summary

┌────────────────────────────────────┬──────────┬─────────────────┬─────────┐
│               Target               │   Type   │ Vulnerabilities │ Secrets │
├────────────────────────────────────┼──────────┼─────────────────┼─────────┤
│ eno-reconciler:pr635 (debian 13.6) │  debian  │        0        │    -    │
├────────────────────────────────────┼──────────┼─────────────────┼─────────┤
│ eno-reconciler                     │ gobinary │        1        │    -    │
└────────────────────────────────────┴──────────┴─────────────────┴─────────┘
Legend:
- '-': Not scanned
- '0': Clean (no security findings detected)


eno-reconciler (gobinary)
=========================
Total: 1 (UNKNOWN: 0, LOW: 0, MEDIUM: 1, HIGH: 0, CRITICAL: 0)

┌──────────────────────────┬─────────────────────┬──────────┬────────┬───────────────────┬───────────────┬─────────────────────────────────────────────────────────┐
│         Library          │    Vulnerability    │ Severity │ Status │ Installed Version │ Fixed Version │                          Title                          │
├──────────────────────────┼─────────────────────┼──────────┼────────┼───────────────────┼───────────────┼─────────────────────────────────────────────────────────┤
│ github.com/google/cel-go │ GHSA-gcjh-h69q-9w9g │ MEDIUM   │ fixed  │ v0.26.1           │ 0.29.0        │ cel-go: JSON Private Fields Exposed via NativeTypes and │
│                          │                     │          │        │                   │               │ ParseStructTag                                          │
│                          │                     │          │        │                   │               │ https://github.com/advisories/GHSA-gcjh-h69q-9w9g       │
└──────────────────────────┴─────────────────────┴──────────┴────────┴───────────────────┴───────────────┴─────────────────────────────────────────────────────────┘
+ set +x

=== RESULT ===
  eno-controller       v0.2.15-asreleased       11 vulnerabilities
  eno-controller       pr635                    1 vulnerabilities
  eno-reconciler       v0.2.15-asreleased       11 vulnerabilities
  eno-reconciler       pr635                    1 vulnerabilities

Expected: v0.2.15-asreleased = 11, pr635 = 1
The 1 remaining is github.com/google/cel-go GHSA-gcjh-h69q-9w9g, covered by Azure/eno#632.

cleanup: rm -rf /tmp/eno-cve-verify.tTYjH7
mohamedowda@TDC373940796:~/go/src/go.goms.io/aks/copilot-implementations/cve-fixes-20260805/eno-image-cve-fix$ 

@ruinan-liu
Ruinan Liu (ruinan-liu) merged commit 3b6b70a into Azure:main Aug 7, 2026
36 checks passed
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.

2 participants