Skip to content

fix(deps): update module google.golang.org/grpc to v1.82.1 [security] - #331

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/go-google.golang.org-grpc-vulnerability
Open

fix(deps): update module google.golang.org/grpc to v1.82.1 [security]#331
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/go-google.golang.org-grpc-vulnerability

Conversation

@renovate

@renovate renovate Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
google.golang.org/grpc v1.82.0v1.82.1 age confidence

gRPC-Go: xDS RBAC and HTTP/2 Vulnerabilities

GHSA-hrxh-6v49-42gf

More information

Details

Multiple security vulnerabilities have been identified and addressed in grpc-go affecting the xDS RBAC authorization engine (internal/xds/rbac) and the HTTP/2 transport server implementation (internal/transport). These vulnerabilities could result in:

  • Authorization Bypass (Fail-Open) when translating xDS RBAC policies containing Metadata or RequestedServerName fields.
  • Denial of Service (High CPU Consumption) due to an HTTP/2 Rapid Reset mitigation bypass during client-initiated stream resets.
  • Denial of Service (Server Panic) when parsing crafted xDS RBAC policies containing NOT rules around unsupported fields.
Impact

What kind of vulnerability is it? Who is impacted?

xDS RBAC Authorization Bypass via Metadata & RequestedServerName matchers
  • Affected Component: xDS RBAC
  • Impact: When building policy matchers for gRPC RBAC from xDS configurations, unsupported permission and principal rules (specifically Metadata and RequestedServerName) were silently ignored and treated as no-ops.
    • If an authorization policy relied purely on these matchers for access control, treating those rules as no-ops effectively removed the restrictions.
  • If these unsupported rules were nested inside logical NOT rules (Permission_NotRule / Principal_NotId) or multi-condition OR/AND rules, silently dropping them changed the boolean logic flow of the authorization engine.

As a result, policy evaluation decisions could fail open, allowing unauthorized clients to access protected gRPC services or resources.

HTTP/2 Rapid Reset Mitigation Bypass / Denial of Service via Stream Aborts
  • Affected Component: HTTP/2 transport
  • Impact: Earlier mitigations in grpc-go for HTTP/2 Rapid Reset only applied threshold checks to items that directly resulted in control frames being written back to the wire, such as SETTINGS ACKs or server-initiated RST_STREAMs.

When a client initiated a rapid flood of stream creation (HEADERS) immediately followed by stream termination RST_STREAM, items queued up in the control buffer without counting against the transport response frame threshold. An attacker can repeatedly trigger this flood sequence to bypass reader blocking, resulting in high CPU usage, and Denial of Service (DoS).

Denial of Service (Panic) in xDS RBAC Engine via Unsupported Fields inside NOT Rules
  • Affected Component: xDS RBAC
  • Impact: The xDS RBAC policy translators recursively generate matchers for nested rules. When a NOT rule wrapped an unsupported or unhandled field (such as SourcedMetadata), the recursive step returned an empty matcher. This could result in a runtime panic when the RBAC engine attempts to authorize an incoming request.

An attacker or misconfigured/malicious xDS management server delivering an LDS/RDS update containing a NOT rule around an unhandled field causes the gRPC server process to crash immediately (CWE-248 / Denial of Service).

Patches

Has the problem been patched? What versions should users upgrade to?

All three issues have been fixed in master and will be released in 1.82.1 shortly.

Workarounds

Is there a way for users to fix or remediate the vulnerability without upgrading?

If upgrading grpc-go immediately is not possible, apply the following workarounds based on your deployment architecture:

  • For xDS RBAC Vulnerabilities & Panics: Ensure that upstream xDS management servers do not push RBAC policies containing Metadata, RequestedServerName, or NOT rules wrapping unsupported fields (such as SourcedMetadata) to grpc-go servers.
  • For HTTP/2 Rapid Reset DOS: Configure upstream reverse proxies or load balancers (such as Envoy) with strict HTTP/2 max_concurrent_streams limits and active rate limiting on RST_STREAM frequency per connection.
Severity
Vulnerability Qualitative Severity Approximate CVSS v3.1 Score Primary Impact
xDS RBAC Authorization Bypass High 8.2 Unauthorized Access / Fail-Open
HTTP/2 Rapid Reset DOS Bypass High 7.5 High CPU Consumption / Denial of Service
xDS RBAC Engine Server Panic Medium 5.9 Process Crash / Denial of Service

Severity

  • CVSS Score: 8.8 / 10 (High)
  • Vector String: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

grpc/grpc-go (google.golang.org/grpc)

v1.82.1: Release 1.82.1

Compare Source

Security

  • server: Stop reading from the connection when flooded by HTTP/2 frames. The default value for this limit is 100 frames, excluding DATA and HEADERS, and may be changed by setting environment variable GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT.
  • xds/rbac: Support Metadata and RequestedServerName permissions matcher fields. If present in a DENY rule, previously these would be ignored and fail-open.
  • xds/rbac: Fix panic when parsing unsupported fields in NotRule/NotId permissions.
  • xds/rbac: Support the deprecated source_ip principal identifier by treating it as equivalent to direct_remote_ip.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Jul 25, 2026
@github-actions

Copy link
Copy Markdown

MegaLinter analysis: Error

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ COPYPASTE jscpd yes no no 2.44s
✅ REPOSITORY betterleaks yes no no 1.53s
✅ REPOSITORY checkov yes no no 18.64s
⚠️ REPOSITORY devskim yes 1 no 3.74s
✅ REPOSITORY dustilock yes no no 0.03s
✅ REPOSITORY gitleaks yes no no 10.62s
✅ REPOSITORY git_diff yes no no 0.09s
❌ REPOSITORY grype yes 3 no 68.66s
✅ REPOSITORY kingfisher yes no no 9.63s
⚠️ REPOSITORY osv-scanner yes 2 no 1.49s
✅ REPOSITORY secretlint yes no no 5.13s
✅ REPOSITORY syft yes no no 4.11s
❌ REPOSITORY trivy yes 1 no 13.5s
✅ REPOSITORY trivy-sbom yes no no 10.13s
✅ REPOSITORY trufflehog yes no no 4.43s

Detailed Issues

❌ REPOSITORY / grype - 3 errors
[0000]  WARN no explicit name and version provided for directory source, deriving artifact ID from the given path (which is not ideal) from=syft
NAME                  INSTALLED  FIXED IN  TYPE       VULNERABILITY        SEVERITY  EPSS         RISK  
oras.land/oras-go/v2  v2.6.1               go-module  GHSA-fxhp-mv3v-67qp  High      0.4% (35th)  0.3   
golang.org/x/text     v0.38.0    0.39.0    go-module  GO-2026-5970         High      0.2% (12th)  0.2   
golang.org/x/net      v0.55.0    0.56.0    go-module  GO-2026-5942         High      0.2% (5th)   0.1   
golang.org/x/crypto   v0.53.0              go-module  GO-2026-5932         Unknown   N/A          N/A
[0068] ERROR discovered vulnerabilities at or above the severity threshold
❌ REPOSITORY / trivy - 1 error
──────┼─────────────────┼───────────────────┤
│ build/Dockerfile.config_exporter                 │ dockerfile │        -        │         0         │
├──────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ docs/investigation/rbac/assets/clusterrole.yaml  │ kubernetes │        -        │         0         │
├──────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ docs/investigation/rbac/assets/clusterrole2.yaml │ kubernetes │        -        │         0         │
├──────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ docs/investigation/rbac/assets/role.yaml         │ kubernetes │        -        │         0         │
├──────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ helm/botkube/templates/clusterrole.yaml          │    helm    │        -        │         0         │
├──────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ helm/botkube/templates/clusterrolebinding.yaml   │    helm    │        -        │         0         │
├──────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ helm/botkube/templates/communicationsecret.yaml  │    helm    │        -        │         0         │
├──────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ helm/botkube/templates/deployment.yaml           │    helm    │        -        │         0         │
├──────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ helm/botkube/templates/global-config.yaml        │    helm    │        -        │         0         │
├──────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ helm/botkube/templates/persistent-config.yaml    │    helm    │        -        │         0         │
├──────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ helm/botkube/templates/rbac-groups.yaml          │    helm    │        -        │         0         │
├──────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ helm/botkube/templates/service.yaml              │    helm    │        -        │         0         │
├──────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ helm/botkube/templates/serviceaccount.yaml       │    helm    │        -        │         0         │
├──────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ helm/botkube/templates/system-config.yaml        │    helm    │        -        │         0         │
├──────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ helm/botkube/templates/systemroles.yaml          │    helm    │        -        │         0         │
└──────────────────────────────────────────────────┴────────────┴─────────────────┴───────────────────┘
Legend:
- '-': Not scanned
- '0': Clean (no security findings detected)


For OSS Maintainers: VEX Notice
--------------------------------
If you're an OSS maintainer and Trivy has detected vulnerabilities in your project that you believe are not actually exploitable, consider issuing a VEX (Vulnerability Exploitability eXchange) statement.
VEX allows you to communicate the actual status of vulnerabilities in your project, improving security transparency and reducing false positives for your users.
Learn more and start using VEX: https://trivy.dev/docs/v0.71/guide/supply-chain/vex/repo#publishing-vex-documents

To disable this notice, set the TRIVY_DISABLE_VEX_NOTICE environment variable.


go.mod (gomod)
==============
Total: 4 (UNKNOWN: 3, LOW: 0, MEDIUM: 0, HIGH: 1, CRITICAL: 0)

┌──────────────────────┬────────────────┬──────────┬──────────┬───────────────────┬───────────────┬─────────────────────────────────────────────────────────────┐
│       Library        │ Vulnerability  │ Severity │  Status  │ Installed Version │ Fixed Version │                            Title                            │
├──────────────────────┼────────────────┼──────────┼──────────┼───────────────────┼───────────────┼─────────────────────────────────────────────────────────────┤
│ golang.org/x/crypto  │ GO-2026-5932   │ UNKNOWN  │ affected │ v0.53.0           │               │ The golang.org/x/crypto/openpgp package is unmaintained,    │
│                      │                │          │          │                   │               │ unsafe by design, and has known security...                 │
├──────────────────────┼────────────────┤          ├──────────┼───────────────────┼───────────────┼─────────────────────────────────────────────────────────────┤
│ golang.org/x/net     │ CVE-2026-46600 │          │ fixed    │ v0.55.0           │ 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 │          │          │ v0.38.0           │ 0.39.0        │ A norm.Iter can enter an infinite loop when handling input  │
│                      │                │          │          │                   │               │ containing ...                                              │
│                      │                │          │          │                   │               │ https://avd.aquasec.com/nvd/cve-2026-56852                  │
├──────────────────────┼────────────────┼──────────┼──────────┼───────────────────┼───────────────┼─────────────────────────────────────────────────────────────┤
│ oras.land/oras-go/v2 │ CVE-2026-50163 │ HIGH     │ affected │ v2.6.1            │               │ oras-go: Oras-go: Information disclosure and arbitrary file │
│                      │                │          │          │                   │               │ access via crafted tarball hardlinks...                     │
│                      │                │          │          │                   │               │ https://avd.aquasec.com/nvd/cve-2026-50163                  │
└──────────────────────┴────────────────┴──────────┴──────────┴───────────────────┴───────────────┴─────────────────────────────────────────────────────────────┘

test/go.mod (gomod)
===================
Total: 4 (UNKNOWN: 3, LOW: 0, MEDIUM: 0, HIGH: 1, CRITICAL: 0)

┌────────────────────────┬─────────────────────┬──────────┬──────────┬───────────────────┬───────────────┬────────────────────────────────────────────────────────────┐
│        Library         │    Vulnerability    │ Severity │  Status  │ Installed Version │ Fixed Version │                           Title                            │
├────────────────────────┼─────────────────────┼──────────┼──────────┼───────────────────┼───────────────┼────────────────────────────────────────────────────────────┤
│ golang.org/x/crypto    │ GO-2026-5932        │ UNKNOWN  │ affected │ v0.52.0           │               │ The golang.org/x/crypto/openpgp package is unmaintained,   │
│                        │                     │          │          │                   │               │ unsafe by design, and has known security...                │
├────────────────────────┼─────────────────────┤          ├──────────┼───────────────────┼───────────────┼────────────────────────────────────────────────────────────┤
│ golang.org/x/net       │ CVE-2026-46600      │          │ fixed    │ v0.55.0           │ 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      │          │          │ v0.37.0           │ 0.39.0        │ A norm.Iter can enter an infinite loop when handling input │
│                        │                     │          │          │                   │               │ containing ...                                             │
│                        │                     │          │          │                   │               │ https://avd.aquasec.com/nvd/cve-2026-56852                 │
├────────────────────────┼─────────────────────┼──────────┤          ├───────────────────┼───────────────┼────────────────────────────────────────────────────────────┤
│ google.golang.org/grpc │ GHSA-hrxh-6v49-42gf │ HIGH     │          │ v1.81.1           │ 1.82.1        │ gRPC-Go: xDS RBAC and HTTP/2 Vulnerabilities               │
│                        │                     │          │          │                   │               │ https://github.com/advisories/GHSA-hrxh-6v49-42gf          │
└────────────────────────┴─────────────────────┴──────────┴──────────┴───────────────────┴───────────────┴────────────────────────────────────────────────────────────┘

📣 Notices:
  - Version 0.72.0 of Trivy is now available, current version is 0.71.2

To suppress version checks, run Trivy scans with the --skip-version-check flag

(Truncated to last 10000 characters out of 15392)
⚠️ REPOSITORY / devskim - 1 error
":[{"physicalLocation":{"artifactLocation":{"uri":"pkg/bot/mattermost.go"},"region":{"startLine":47,"startColumn":3,"endLine":47,"endColumn":7,"charOffset":1269,"charLength":4,"snippet":{"text":"TODO","rendered":{"text":"TODO","markdown":"`TODO`"}},"sourceLanguage":"go"}}}],"properties":{"tags":["Hygiene.Comment.Suspicious"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS176209","level":"note","message":{"text":"Suspicious comment"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"pkg/bot/mattermost.go"},"region":{"startLine":28,"startColumn":3,"endLine":28,"endColumn":7,"charOffset":581,"charLength":4,"snippet":{"text":"TODO","rendered":{"text":"TODO","markdown":"`TODO`"}},"sourceLanguage":"go"}}}],"properties":{"tags":["Hygiene.Comment.Suspicious"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS176209","level":"note","message":{"text":"Suspicious comment"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"pkg/formatx/space_table.go"},"region":{"startLine":28,"startColumn":3,"endLine":28,"endColumn":7,"charOffset":517,"charLength":4,"snippet":{"text":"TODO","rendered":{"text":"TODO","markdown":"`TODO`"}},"sourceLanguage":"go"}}}],"properties":{"tags":["Hygiene.Comment.Suspicious"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS162092","level":"note","message":{"text":"Do not leave debug code in production"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"internal/config/testdata/TestGetProvider/third.yaml"},"region":{"startLine":5,"startColumn":18,"endLine":5,"endColumn":27,"charOffset":73,"charLength":9,"snippet":{"text":"localhost","rendered":{"text":"localhost","markdown":"`localhost`"}},"sourceLanguage":"yaml"}}}],"properties":{"tags":["Hygiene.Network.AccessingLocalhost"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS162092","level":"note","message":{"text":"Do not leave debug code in production"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"internal/config/testdata/TestGetProvider/all.yaml"},"region":{"startLine":17,"startColumn":18,"endLine":17,"endColumn":27,"charOffset":383,"charLength":9,"snippet":{"text":"localhost","rendered":{"text":"localhost","markdown":"`localhost`"}},"sourceLanguage":"yaml"}}}],"properties":{"tags":["Hygiene.Network.AccessingLocalhost"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS162092","level":"note","message":{"text":"Do not leave debug code in production"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"internal/config/testdata/TestGetProvider/from-cli-flag-second.yaml"},"region":{"startLine":5,"startColumn":18,"endLine":5,"endColumn":27,"charOffset":74,"charLength":9,"snippet":{"text":"localhost","rendered":{"text":"localhost","markdown":"`localhost`"}},"sourceLanguage":"yaml"}}}],"properties":{"tags":["Hygiene.Network.AccessingLocalhost"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS176209","level":"note","message":{"text":"Suspicious comment"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"pkg/notifier/bot.go"},"region":{"startLine":17,"startColumn":4,"endLine":17,"endColumn":8,"charOffset":487,"charLength":4,"snippet":{"text":"TODO","rendered":{"text":"TODO","markdown":"`TODO`"}},"sourceLanguage":"go"}}}],"properties":{"tags":["Hygiene.Comment.Suspicious"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS176209","level":"note","message":{"text":"Suspicious comment"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"pkg/bot/discord.go"},"region":{"startLine":353,"startColumn":4,"endLine":353,"endColumn":8,"charOffset":10980,"charLength":4,"snippet":{"text":"TODO","rendered":{"text":"TODO","markdown":"`TODO`"}},"sourceLanguage":"go"}}}],"properties":{"tags":["Hygiene.Comment.Suspicious"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS176209","level":"note","message":{"text":"Suspicious comment"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"pkg/bot/discord.go"},"region":{"startLine":188,"startColumn":3,"endLine":188,"endColumn":7,"charOffset":6161,"charLength":4,"snippet":{"text":"TODO","rendered":{"text":"TODO","markdown":"`TODO`"}},"sourceLanguage":"go"}}}],"properties":{"tags":["Hygiene.Comment.Suspicious"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS176209","level":"note","message":{"text":"Suspicious comment"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"pkg/bot/discord.go"},"region":{"startLine":27,"startColumn":3,"endLine":27,"endColumn":7,"charOffset":588,"charLength":4,"snippet":{"text":"TODO","rendered":{"text":"TODO","markdown":"`TODO`"}},"sourceLanguage":"go"}}}],"properties":{"tags":["Hygiene.Comment.Suspicious"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS176209","level":"note","message":{"text":"Suspicious comment"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"pkg/bot/slack_socket.go"},"region":{"startLine":250,"startColumn":9,"endLine":250,"endColumn":13,"charOffset":8620,"charLength":4,"snippet":{"text":"TODO","rendered":{"text":"TODO","markdown":"`TODO`"}},"sourceLanguage":"go"}}}],"properties":{"tags":["Hygiene.Comment.Suspicious"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS176209","level":"note","message":{"text":"Suspicious comment"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"pkg/bot/slack_socket.go"},"region":{"startLine":32,"startColumn":3,"endLine":32,"endColumn":7,"charOffset":769,"charLength":4,"snippet":{"text":"TODO","rendered":{"text":"TODO","markdown":"`TODO`"}},"sourceLanguage":"go"}}}],"properties":{"tags":["Hygiene.Comment.Suspicious"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS162092","level":"note","message":{"text":"Do not leave debug code in production"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"examples/ingress-recommendations/ingress-overrides.yaml"},"region":{"startLine":28,"startColumn":28,"endLine":28,"endColumn":37,"charOffset":612,"charLength":9,"snippet":{"text":"localhost","rendered":{"text":"localhost","markdown":"`localhost`"}},"sourceLanguage":"yaml"}}}],"properties":{"tags":["Hygiene.Network.AccessingLocalhost"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS176209","level":"note","message":{"text":"Suspicious comment"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"pkg/bot/slack_cloud.go"},"region":{"startLine":571,"startColumn":4,"endLine":571,"endColumn":8,"charOffset":18684,"charLength":4,"snippet":{"text":"TODO","rendered":{"text":"TODO","markdown":"`TODO`"}},"sourceLanguage":"go"}}}],"properties":{"tags":["Hygiene.Comment.Suspicious"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS176209","level":"note","message":{"text":"Suspicious comment"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"pkg/bot/slack_cloud.go"},"region":{"startLine":349,"startColumn":7,"endLine":349,"endColumn":11,"charOffset":11675,"charLength":4,"snippet":{"text":"TODO","rendered":{"text":"TODO","markdown":"`TODO`"}},"sourceLanguage":"go"}}}],"properties":{"tags":["Hygiene.Comment.Suspicious"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS162092","level":"note","message":{"text":"Do not leave debug code in production"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"pkg/bot/slack_renderer_test.go"},"region":{"startLine":50,"startColumn":30,"endLine":50,"endColumn":39,"charOffset":1426,"charLength":9,"snippet":{"text":"localhost","rendered":{"text":"localhost","markdown":"`localhost`"}},"sourceLanguage":"go"}}}],"properties":{"tags":["Hygiene.Network.AccessingLocalhost"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS176209","level":"note","message":{"text":"Suspicious comment"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":".github/workflows/branch-build.yml"},"region":{"startLine":16,"startColumn":27,"endLine":16,"endColumn":31,"charOffset":318,"charLength":4,"snippet":{"text":"TODO","rendered":{"text":"TODO","markdown":"`TODO`"}},"sourceLanguage":"yaml"}}}],"properties":{"tags":["Hygiene.Comment.Suspicious"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS162092","level":"note","message":{"text":"Do not leave debug code in production"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"hack/target/serve-plugins/main.go"},"region":{"startLine":16,"startColumn":66,"endLine":16,"endColumn":75,"charOffset":334,"charLength":9,"snippet":{"text":"localhost","rendered":{"text":"localhost","markdown":"`localhost`"}},"sourceLanguage":"go"}}}],"properties":{"tags":["Hygiene.Network.AccessingLocalhost"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS112852","level":"note","message":{"text":"Go - Hard-coded SSL/TLS Protocol"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"pkg/grpcx/credentials.go"},"region":{"startLine":47,"startColumn":39,"endLine":47,"endColumn":51,"charOffset":1393,"charLength":12,"snippet":{"text":"VersionTLS13","rendered":{"text":"VersionTLS13","markdown":"`VersionTLS13`"}},"sourceLanguage":"go"}}}],"properties":{"tags":["Cryptography.Protocol.TLS.Hard-Coded"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}},{"ruleId":"DS176209","level":"note","message":{"text":"Suspicious comment"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"internal/source/kubernetes/recommendation/ingress_backend_service_valid.go"},"region":{"startLine":59,"startColumn":7,"endLine":59,"endColumn":11,"charOffset":2041,"charLength":4,"snippet":{"text":"TODO","rendered":{"text":"TODO","markdown":"`TODO`"}},"sourceLanguage":"go"}}}],"properties":{"tags":["Hygiene.Comment.Suspicious"],"DevSkimSeverity":"ManualReview","DevSkimConfidence":"High"}}],"columnKind":"utf16CodeUnits"}]}

(Truncated to last 10000 characters out of 24930)
⚠️ REPOSITORY / osv-scanner - 2 errors
Scanning dir .
Starting filesystem walk for root: /
Scanned examples/src/go.mod file and found 9 packages
Scanned go.mod file and found 260 packages
Scanned test/go.mod file and found 167 packages
End status: 209 dirs visited, 904 inodes visited, 3 Extract calls, 34.074943ms elapsed, 34.075083ms wall time
Filtered 1 local/unscannable package/s from the scan.
Failed to run code analysis (govulncheck) on 'examples/src/go.mod' because govulncheck: loading packages: err: exit status 1: stderr: go: go.mod requires go >= 1.26.4 (running go 1.26.3; GOTOOLCHAIN=local)

(the Go toolchain is required)
Failed to run code analysis (govulncheck) on 'go.mod' because govulncheck: loading packages: err: exit status 1: stderr: go: go.mod requires go >= 1.26.4 (running go 1.26.3; GOTOOLCHAIN=local)

(the Go toolchain is required)
Failed to run code analysis (govulncheck) on 'test/go.mod' because govulncheck: loading packages: err: exit status 1: stderr: go: go.mod requires go >= 1.26.4 (running go 1.26.3; GOTOOLCHAIN=local)

(the Go toolchain is required)

Total 12 packages affected by 18 known vulnerabilities (0 Critical, 2 High, 0 Medium, 0 Low, 16 Unknown) from 1 ecosystem.
16 vulnerabilities can be fixed.

+-------------------------------------+------+-----------+------------------------+---------+---------------+---------------------+
| OSV URL                             | CVSS | ECOSYSTEM | PACKAGE                | VERSION | FIXED VERSION | SOURCE              |
+-------------------------------------+------+-----------+------------------------+---------+---------------+---------------------+
| https://osv.dev/GO-2026-4961        |      | Go        | golang.org/x/image     | 0.41.0  | 0.42.0        | examples/src/go.mod |
| https://osv.dev/GO-2026-5061        |      | Go        | golang.org/x/image     | 0.41.0  | 0.43.0        | examples/src/go.mod |
| https://osv.dev/GO-2026-5062        |      | Go        | golang.org/x/image     | 0.41.0  | 0.43.0        | examples/src/go.mod |
| https://osv.dev/GO-2026-5066        |      | Go        | golang.org/x/image     | 0.41.0  | 0.43.0        | examples/src/go.mod |
| https://osv.dev/GO-2026-4970        |      | Go        | stdlib                 | 1.26.4  | 1.26.5        | examples/src/go.mod |
| https://osv.dev/GO-2026-5856        |      | Go        | stdlib                 | 1.26.4  | 1.26.5        | examples/src/go.mod |
| https://osv.dev/GO-2026-5932        |      | Go        | golang.org/x/crypto    | 0.53.0  | --            | go.mod              |
| https://osv.dev/GO-2026-5942        |      | Go        | golang.org/x/net       | 0.55.0  | 0.56.0        | go.mod              |
| https://osv.dev/GO-2026-5970        |      | Go        | golang.org/x/text      | 0.38.0  | 0.39.0        | go.mod              |
| https://osv.dev/GO-2026-5880        | 7.1  | Go        | oras.land/oras-go/v2   | 2.6.1   | 2.6.2         | go.mod              |
| https://osv.dev/GHSA-fxhp-mv3v-67qp |      |           |                        |         |               |                     |
| https://osv.dev/GO-2026-4970        |      | Go        | stdlib                 | 1.26.4  | 1.26.5        | go.mod              |
| https://osv.dev/GO-2026-5856        |      | Go        | stdlib                 | 1.26.4  | 1.26.5        | go.mod              |
| https://osv.dev/GO-2026-5932        |      | Go        | golang.org/x/crypto    | 0.52.0  | --            | test/go.mod         |
| https://osv.dev/GO-2026-5942        |      | Go        | golang.org/x/net       | 0.55.0  | 0.56.0        | test/go.mod         |
| https://osv.dev/GO-2026-5970        |      | Go        | golang.org/x/text      | 0.37.0  | 0.39.0        | test/go.mod         |
| https://osv.dev/GHSA-hrxh-6v49-42gf | 8.8  | Go        | google.golang.org/grpc | 1.81.1  | 1.82.1        | test/go.mod         |
| https://osv.dev/GO-2026-4970        |      | Go        | stdlib                 | 1.26.4  | 1.26.5        | test/go.mod         |
| https://osv.dev/GO-2026-5856        |      | Go        | stdlib                 | 1.26.4  | 1.26.5        | test/go.mod         |
+-------------------------------------+------+-----------+------------------------+---------+---------------+---------------------+

Notices

📣 MegaLinter 9.5.0 is out! Discover the new features and security recommendations in the release announcement. (Skip this info by defining SECURITY_SUGGESTIONS: false)

See detailed reports in MegaLinter artifacts
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff

MegaLinter is graciously provided by OX Security
Show us your support by starring ⭐ the repository

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants