OCPBUGS-80948: update velero replace to track oadp-dev branch#224
Conversation
|
@jparrill: This pull request references Jira Issue OCPBUGS-80948, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Skipping CI for Draft Pull Request. |
Walkthroughgo.mod updated: Go toolchain bumped (1.25.3 → 1.25.7), Velero replace directive updated to a newer openshift/velero pseudo-version, Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Assessment against linked issues
Out-of-scope changes
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
/retest |
|
/jira refresh |
|
@jparrill: This pull request references Jira Issue OCPBUGS-80948, which is valid. The bug has been moved to the POST state. 3 validation(s) were run on this bug
DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@go.mod`:
- Around line 80-81: The go.mod currently pins google.golang.org/grpc at v1.77.0
which has a critical CVE; update the module requirement to
google.golang.org/grpc v1.79.3 (or later) in go.mod, then run the Go tooling to
apply the change (e.g., go get google.golang.org/grpc@v1.79.3 and go mod tidy)
and rebuild/run tests to ensure no breakage; verify any uses of grpc
server/interceptor setup (e.g., where grpc.NewServer or grpc.Dial are invoked)
still work with the upgraded version and update import or API usage if the minor
bump requires it.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 960c5621-b9f9-46da-82d0-43d10783c4ff
⛔ Files ignored due to path filters (135)
go.sumis excluded by!**/*.sumvendor/github.com/kubernetes-csi/external-snapshotter/client/v7/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/kubernetes-csi/external-snapshotter/client/v7/apis/volumesnapshot/v1/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/kubernetes-csi/external-snapshotter/client/v8/apis/volumegroupsnapshot/v1beta1/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/kubernetes-csi/external-snapshotter/client/v8/apis/volumegroupsnapshot/v1beta1/register.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/kubernetes-csi/external-snapshotter/client/v8/apis/volumegroupsnapshot/v1beta1/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/kubernetes-csi/external-snapshotter/client/v8/apis/volumegroupsnapshot/v1beta1/zz_generated.deepcopy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/credentials/file_store.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/credentials/getter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/credentials/local.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/credentials/secret_store.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/resourcepolicies/resource_policies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/resourcepolicies/volume_filter_data.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/resourcepolicies/volume_resources.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/resourcepolicies/volume_resources_validator.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/resourcepolicies/volume_types_conditions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/backup_repository_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/backup_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/backupstoragelocation_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/labels_annotations.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/pod_volume_backup_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/pod_volume_restore_type.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/restore_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/zz_generated.deepcopy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v2alpha1/data_download_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v2alpha1/data_upload_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/client/dynamic.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/client/factory.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/cmd/server/config/config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/constant/constant.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/kuberesource/kuberesource.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/label/label.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backup_item_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backup_item_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backup_item_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backupitemaction/v2/backup_item_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backupitemaction/v2/backup_item_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backupitemaction/v2/backup_item_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/common/plugin_config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/delete_item_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/delete_item_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/delete_item_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/itemblockaction/v1/item_block_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/itemblockaction/v1/item_block_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/itemblockaction/v1/item_block_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/object_store.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/object_store_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/object_store_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/plugin_lister.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restore_item_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restore_item_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restore_item_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restoreitemaction/v2/restore_item_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restoreitemaction/v2/restore_item_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restoreitemaction/v2/restore_item_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/volume_snapshotter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/volume_snapshotter_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/volume_snapshotter_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/types/node_agent.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/types/repo_maintenance.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/uploader/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/collections/includes_excludes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/event.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/pod.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/predicate.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/priority_class.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/pvc_pv.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/resource_requirements.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/security_context.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/wildcard/expand.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/context/context.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/genproto/googleapis/rpc/status/status.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/MAINTAINERS.mdis excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/README.mdis excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer/balancer.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer/pickfirst/pickfirst.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer_wrapper.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/clientconn.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/credentials/credentials.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/credentials/insecure/insecure.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/credentials/tls.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/dialoptions.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/encoding/encoding.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/encoding/internal/internal.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/encoding/proto/proto.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/experimental/stats/metricregistry.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/experimental/stats/metrics.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/health/grpc_health_v1/health.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/health/server.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/buffer/unbounded.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/channelz/trace.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/credentials/credentials.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/envconfig/envconfig.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/envconfig/xds.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/grpcsync/callback_serializer.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/grpcsync/event.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/internal.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/resolver/delegatingresolver/delegatingresolver.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/stats/metrics_recorder_list.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/stats/stats.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/status/status.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/client_stream.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/controlbuf.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/flowcontrol.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/handler_server.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/http2_client.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/http2_server.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/http_util.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/server_stream.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/transport.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/mem/buffer_pool.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/mem/buffer_slice.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/picker_wrapper.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/preloader.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/reflection/grpc_reflection_v1/reflection.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/reflection/grpc_reflection_v1/reflection_grpc.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/reflection/grpc_reflection_v1alpha/reflection.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/reflection/grpc_reflection_v1alpha/reflection_grpc.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/resolver/resolver.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/rpc_util.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/server.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/stats/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/stats/stats.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/stream.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/version.gois excluded by!vendor/**,!**/vendor/**vendor/modules.txtis excluded by!vendor/**,!**/vendor/**
📒 Files selected for processing (1)
go.mod
| google.golang.org/genproto/googleapis/rpc v0.0.0-20251103181224-f26f9409b101 // indirect | ||
| google.golang.org/grpc v1.77.0 // indirect |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check for grpc vulnerability details and available patches
echo "=== Checking gRPC vulnerability GHSA-p77j-4mvh-x3m3 ==="
gh api graphql -f query='
{
securityVulnerability(ghsaId: "GHSA-p77j-4mvh-x3m3") {
advisory {
summary
severity
publishedAt
withdrawnAt
}
vulnerableVersionRange
firstPatchedVersion {
identifier
}
}
}'
echo -e "\n=== Checking for patched versions ==="
curl -s https://proxy.golang.org/google.golang.org/grpc/@v/list | tail -5
echo -e "\n=== Checking if project uses gRPC server functionality ==="
rg -l "grpc\\.NewServer|grpc\\.Server" --type goRepository: openshift/hypershift-oadp-plugin
Length of output: 2332
🌐 Web query:
GHSA-p77j-4mvh-x3m3 gRPC vulnerability
💡 Result:
GHSA-p77j-4mvh-x3m3 is a critical authorization bypass vulnerability (CVE-2026-33186) in gRPC-Go, the Go implementation of gRPC. It affects versions prior to 1.79.3. Vulnerability details: The gRPC-Go server accepts HTTP/2 requests where the :path pseudo-header omits the mandatory leading slash (e.g., "Service/Method" instead of "/Service/Method"). The server routes these to the correct handler, but authorization interceptors (like google.golang.org/grpc/authz or custom ones using info.FullMethod) see the non-canonical path. This causes "deny" rules for canonical paths (with "/") to fail matching, bypassing authorization if there's a fallback "allow" rule. Impacted servers: Those using path-based authorization interceptors with specific deny rules for canonical paths and a default allow. Exploitation: Attacker sends raw HTTP/2 frames with malformed :path directly to the server (requires network access, ability to craft HTTP/2). Severity: CVSS 3.1: 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N) - Critical. Fix: Upgrade to v1.79.3 or later, released March 17, 2026. The patch rejects requests without leading slash in :path with codes.Unimplemented before reaching interceptors/handlers. Mitigations (if upgrade not immediate): - Add validating unary/stream interceptor to reject if !strings.HasPrefix(info.FullMethod, "/"). - Use reverse proxy/load balancer to normalize :path (add leading slash). - Harden policy: deny all unspecified paths (no fallback allow). Published: March 17-18, 2026. Official advisory confirms patch in 1.79.3.
Citations:
- 1: https://test.osv.dev/vulnerability/GHSA-p77j-4mvh-x3m3
- 2: GHSA-p77j-4mvh-x3m3
- 3: https://www.resolvedsecurity.com/vulnerability-catalog/GHSA-p77j-4mvh-x3m3
- 4: https://advisories.gitlab.com/pkg/golang/google.golang.org/grpc/CVE-2026-33186/
- 5: https://nvd.nist.gov/vuln/detail/CVE-2026-33186
- 6: https://github.com/grpc/grpc-go/tags
🌐 Web query:
gRPC v1.77.0 security vulnerability authorization bypass :path
💡 Result:
Yes, there is a critical security vulnerability CVE-2026-33186 in gRPC-Go (google.golang.org/grpc) versions before 1.79.3, including v1.77.0. It is an authorization bypass caused by improper validation of the HTTP/2 :path pseudo-header. The server accepts requests missing the leading slash in :path (e.g., "Service/Method" instead of "/Service/Method"), routes them correctly, but authorization interceptors like grpc/authz fail to match "deny" rules defined for canonical paths, allowing bypass if there's a fallback "allow". Impact: High if using path-based auth with specific deny rules and default allow. CVSS 9.1 (Critical). Exploitable by sending raw HTTP/2 frames with malformed :path. Fix: Upgrade to v1.79.3 or later. The patch rejects non-canonical paths with codes.Unimplemented. Workarounds: Add validating interceptor checking FullMethod starts with '/', use reverse proxy to enforce leading slash, or switch to default-deny policy. No such vulnerability found specifically for gRPC C++ or other implementations at v1.77.0; this affects gRPC-Go.
Citations:
- 1: GHSA-p77j-4mvh-x3m3
- 2: https://security.snyk.io/vuln/SNYK-GOLANG-GITHUBCOMGRPCGRPCGO-15691171
- 3: https://securityonline.info/grpc-go-authorization-bypass-missing-slash-cve-2026-33186/
- 4: https://advisories.gitlab.com/pkg/golang/google.golang.org/grpc/CVE-2026-33186/
- 5: https://newreleases.io/project/github/grpc/grpc-go/release/v1.77.0
- 6: https://github.com/grpc/grpc-go/releases
- 7: https://github.com/grpc/grpc-go/releases/tag/v1.79.3
🏁 Script executed:
# Check actual gRPC server usage in project source (not vendor)
find . -name "*.go" -not -path "./vendor/*" -type f -exec grep -l "grpc\\.NewServer\|grpc\\.Serve\|Server{" {} \; 2>/dev/null | head -20Repository: openshift/hypershift-oadp-plugin
Length of output: 58
Critical security vulnerability in google.golang.org/grpc 1.77.0 requires immediate upgrade.
A confirmed critical authorization bypass vulnerability (GHSA-p77j-4mvh-x3m3 / CVE-2026-33186, CVSS 9.1) affects google.golang.org/grpc@1.77.0. The vulnerability allows attackers to bypass authorization interceptors by omitting the leading slash in HTTP/2 :path headers, causing path-based deny rules to fail to match.
Upgrade to google.golang.org/grpc@v1.79.3 or later, released March 17, 2026. The patch validates and rejects requests with malformed :path before reaching authorization interceptors.
🧰 Tools
🪛 OSV Scanner (2.3.5)
[CRITICAL] 81-81: google.golang.org/grpc 1.77.0: gRPC-Go has an authorization bypass via missing leading slash in :path
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@go.mod` around lines 80 - 81, The go.mod currently pins
google.golang.org/grpc at v1.77.0 which has a critical CVE; update the module
requirement to google.golang.org/grpc v1.79.3 (or later) in go.mod, then run the
Go tooling to apply the change (e.g., go get google.golang.org/grpc@v1.79.3 and
go mod tidy) and rebuild/run tests to ensure no breakage; verify any uses of
grpc server/interceptor setup (e.g., where grpc.NewServer or grpc.Dial are
invoked) still work with the upgraded version and update import or API usage if
the minor bump requires it.
go.mod
Outdated
| replace github.com/vmware-tanzu/velero => github.com/openshift/velero v0.10.2-0.20250514165055-8fbcf3a8da11 | ||
| replace github.com/vmware-tanzu/velero => github.com/openshift/velero v0.10.2-0.20260323191807-216dd62a1caf |
There was a problem hiding this comment.
this lines with oadp-1.6, should main be that? or just the oadp-1.6 branch.
135c73f to
33a88f1
Compare
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jparrill, kaovilai The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
There was a problem hiding this comment.
♻️ Duplicate comments (1)
go.mod (1)
80-81:⚠️ Potential issue | 🔴 CriticalUpgrade
google.golang.org/grpcfrom vulnerablev1.77.0.Line 81 is still pinned to a version flagged with GHSA-p77j-4mvh-x3m3 (critical authz bypass). Please bump to a patched version (>=
v1.79.3) and re-run module resolution (go mod tidy/ vendor refresh) to lock a non-vulnerable graph.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@go.mod` around lines 80 - 81, The go.mod currently pins google.golang.org/grpc to the vulnerable v1.77.0; update the module requirement for google.golang.org/grpc to a patched release (>= v1.79.3), then run go mod tidy (and refresh your vendor directory if used) to resolve and lock the updated dependency graph so the vulnerable version is removed; ensure the updated version appears in go.sum and any vendor manifests.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@go.mod`:
- Around line 80-81: The go.mod currently pins google.golang.org/grpc to the
vulnerable v1.77.0; update the module requirement for google.golang.org/grpc to
a patched release (>= v1.79.3), then run go mod tidy (and refresh your vendor
directory if used) to resolve and lock the updated dependency graph so the
vulnerable version is removed; ensure the updated version appears in go.sum and
any vendor manifests.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: af3a9d9e-7fcf-408d-9a6c-00a93b3be893
⛔ Files ignored due to path filters (136)
go.sumis excluded by!**/*.sumvendor/github.com/kubernetes-csi/external-snapshotter/client/v7/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/kubernetes-csi/external-snapshotter/client/v7/apis/volumesnapshot/v1/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/kubernetes-csi/external-snapshotter/client/v8/apis/volumegroupsnapshot/v1beta1/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/kubernetes-csi/external-snapshotter/client/v8/apis/volumegroupsnapshot/v1beta1/register.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/kubernetes-csi/external-snapshotter/client/v8/apis/volumegroupsnapshot/v1beta1/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/kubernetes-csi/external-snapshotter/client/v8/apis/volumegroupsnapshot/v1beta1/zz_generated.deepcopy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/credentials/file_store.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/credentials/getter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/credentials/local.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/credentials/secret_store.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/resourcepolicies/resource_policies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/resourcepolicies/volume_filter_data.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/resourcepolicies/volume_resources.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/resourcepolicies/volume_resources_validator.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/resourcepolicies/volume_types_conditions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/backup_repository_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/backup_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/backupstoragelocation_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/labels_annotations.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/pod_volume_backup_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/pod_volume_restore_type.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/restore_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/zz_generated.deepcopy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v2alpha1/data_download_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v2alpha1/data_upload_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/client/dynamic.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/client/factory.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/cmd/server/config/config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/constant/constant.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/kuberesource/kuberesource.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/label/label.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backup_item_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backup_item_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backup_item_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backupitemaction/v2/backup_item_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backupitemaction/v2/backup_item_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backupitemaction/v2/backup_item_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/common/plugin_config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/delete_item_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/delete_item_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/delete_item_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/itemblockaction/v1/item_block_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/itemblockaction/v1/item_block_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/itemblockaction/v1/item_block_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/object_store.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/object_store_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/object_store_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/plugin_lister.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restore_item_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restore_item_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restore_item_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restoreitemaction/v2/restore_item_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restoreitemaction/v2/restore_item_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restoreitemaction/v2/restore_item_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/volume_snapshotter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/volume_snapshotter_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/volume_snapshotter_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/types/node_agent.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/types/repo_maintenance.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/uploader/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/collections/includes_excludes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/event.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/node.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/pod.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/predicate.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/priority_class.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/pvc_pv.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/resource_requirements.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/security_context.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/wildcard/expand.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/context/context.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/genproto/googleapis/rpc/status/status.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/MAINTAINERS.mdis excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/README.mdis excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer/balancer.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer/pickfirst/pickfirst.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer_wrapper.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/clientconn.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/credentials/credentials.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/credentials/insecure/insecure.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/credentials/tls.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/dialoptions.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/encoding/encoding.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/encoding/internal/internal.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/encoding/proto/proto.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/experimental/stats/metricregistry.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/experimental/stats/metrics.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/health/grpc_health_v1/health.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/health/server.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/buffer/unbounded.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/channelz/trace.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/credentials/credentials.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/envconfig/envconfig.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/envconfig/xds.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/grpcsync/callback_serializer.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/grpcsync/event.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/internal.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/resolver/delegatingresolver/delegatingresolver.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/stats/metrics_recorder_list.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/stats/stats.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/status/status.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/client_stream.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/controlbuf.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/flowcontrol.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/handler_server.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/http2_client.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/http2_server.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/http_util.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/server_stream.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/transport.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/mem/buffer_pool.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/mem/buffer_slice.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/picker_wrapper.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/preloader.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/reflection/grpc_reflection_v1/reflection.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/reflection/grpc_reflection_v1/reflection_grpc.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/reflection/grpc_reflection_v1alpha/reflection.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/reflection/grpc_reflection_v1alpha/reflection_grpc.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/resolver/resolver.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/rpc_util.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/server.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/stats/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/stats/stats.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/stream.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/version.gois excluded by!vendor/**,!**/vendor/**vendor/modules.txtis excluded by!vendor/**,!**/vendor/**
📒 Files selected for processing (1)
go.mod
The go.mod replace directive for Velero was pointing to a stale pseudo-version on the oadp-1.5 branch (commit 8fbcf3a8da11, 2025-05-14). This caused Renovate/MintMaker PRs to fail because automated dependency updates resolved to incompatible upstream Velero versions that remove the v2alpha1 APIs the plugin depends on. Update the replace directive to track the oadp-dev branch (commit 5ef912f438f6, 2026-03-23) which is the correct upstream branch for the main branch of hypershift-oadp-plugin. This picks up CVE fixes and bug fixes while maintaining API compatibility. Ref: https://redhat.atlassian.net/browse/OCPBUGS-80948 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com>
33a88f1 to
f7d50e5
Compare
There was a problem hiding this comment.
♻️ Duplicate comments (1)
go.mod (1)
79-80:⚠️ Potential issue | 🔴 CriticalUpgrade
google.golang.org/grpcfrom vulnerablev1.77.0.Line 80 pins a version affected by GHSA-p77j-4mvh-x3m3 (critical). Please bump to
v1.79.3+and re-tidy modules.#!/bin/bash set -euo pipefail echo "1) Confirm current grpc pin in go.mod" rg -n '^\s*google\.golang\.org/grpc\s+v' go.mod echo echo "2) Query OSV for GHSA-p77j-4mvh-x3m3 affected range" python - <<'PY' import json, urllib.request payload = { "query": { "package": {"ecosystem": "Go", "name": "google.golang.org/grpc"}, "id": "GHSA-p77j-4mvh-x3m3" } } req = urllib.request.Request( "https://api.osv.dev/v1/query", data=json.dumps(payload).encode(), headers={"Content-Type": "application/json"}, ) with urllib.request.urlopen(req, timeout=20) as r: data = json.loads(r.read().decode()) print(json.dumps(data, indent=2)) PY echo echo "Expected: go.mod shows grpc < v1.79.3 (currently v1.77.0), and OSV response lists affected range covering that version."🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@go.mod` around lines 79 - 80, go.mod currently pins google.golang.org/grpc at the vulnerable v1.77.0; update the dependency by changing the grpc module version to v1.79.3 or newer (target >= v1.79.3) for the module "google.golang.org/grpc" and then run module cleanup (go get google.golang.org/grpc@v1.79.3-or-newer and go mod tidy) to ensure the new version is recorded and transitive deps are fixed; afterward run the test/CI to verify no breakages.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@go.mod`:
- Around line 79-80: go.mod currently pins google.golang.org/grpc at the
vulnerable v1.77.0; update the dependency by changing the grpc module version to
v1.79.3 or newer (target >= v1.79.3) for the module "google.golang.org/grpc" and
then run module cleanup (go get google.golang.org/grpc@v1.79.3-or-newer and go
mod tidy) to ensure the new version is recorded and transitive deps are fixed;
afterward run the test/CI to verify no breakages.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: a3e1fedf-9937-4e8b-b642-0b413dd8ed0e
⛔ Files ignored due to path filters (134)
go.sumis excluded by!**/*.sumvendor/github.com/kubernetes-csi/external-snapshotter/client/v7/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/kubernetes-csi/external-snapshotter/client/v7/apis/volumesnapshot/v1/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/kubernetes-csi/external-snapshotter/client/v8/apis/volumegroupsnapshot/v1beta1/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/kubernetes-csi/external-snapshotter/client/v8/apis/volumegroupsnapshot/v1beta1/register.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/kubernetes-csi/external-snapshotter/client/v8/apis/volumegroupsnapshot/v1beta1/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/kubernetes-csi/external-snapshotter/client/v8/apis/volumegroupsnapshot/v1beta1/zz_generated.deepcopy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/credentials/file_store.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/credentials/getter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/credentials/local.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/credentials/secret_store.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/resourcepolicies/resource_policies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/resourcepolicies/volume_filter_data.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/resourcepolicies/volume_resources.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/resourcepolicies/volume_resources_validator.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/internal/resourcepolicies/volume_types_conditions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/backup_repository_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/backup_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/backupstoragelocation_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/labels_annotations.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/pod_volume_backup_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/pod_volume_restore_type.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/restore_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v1/zz_generated.deepcopy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v2alpha1/data_download_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/apis/velero/v2alpha1/data_upload_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/client/dynamic.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/client/factory.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/cmd/server/config/config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/constant/constant.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/kuberesource/kuberesource.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/label/label.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backup_item_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backup_item_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backup_item_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backupitemaction/v2/backup_item_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backupitemaction/v2/backup_item_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/backupitemaction/v2/backup_item_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/common/plugin_config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/delete_item_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/delete_item_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/delete_item_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/itemblockaction/v1/item_block_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/itemblockaction/v1/item_block_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/itemblockaction/v1/item_block_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/object_store.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/object_store_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/object_store_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/plugin_lister.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restore_item_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restore_item_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restore_item_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restoreitemaction/v2/restore_item_action.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restoreitemaction/v2/restore_item_action_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/restoreitemaction/v2/restore_item_action_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/volume_snapshotter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/volume_snapshotter_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/plugin/framework/volume_snapshotter_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/types/node_agent.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/types/repo_maintenance.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/uploader/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/collections/includes_excludes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/event.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/node.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/pod.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/predicate.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/priority_class.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/pvc_pv.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/resource_requirements.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/security_context.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/kube/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/vmware-tanzu/velero/pkg/util/wildcard/expand.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/context/context.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/MAINTAINERS.mdis excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/README.mdis excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer/balancer.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer/pickfirst/pickfirst.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/balancer_wrapper.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/clientconn.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/credentials/credentials.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/credentials/insecure/insecure.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/credentials/tls.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/dialoptions.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/encoding/encoding.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/encoding/internal/internal.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/encoding/proto/proto.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/experimental/stats/metricregistry.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/experimental/stats/metrics.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/health/grpc_health_v1/health.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/health/server.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/buffer/unbounded.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/channelz/trace.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/credentials/credentials.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/envconfig/envconfig.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/envconfig/xds.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/grpcsync/callback_serializer.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/grpcsync/event.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/internal.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/resolver/delegatingresolver/delegatingresolver.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/stats/metrics_recorder_list.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/stats/stats.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/status/status.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/client_stream.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/controlbuf.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/flowcontrol.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/handler_server.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/http2_client.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/http2_server.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/http_util.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/server_stream.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/internal/transport/transport.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/mem/buffer_pool.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/mem/buffer_slice.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/picker_wrapper.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/preloader.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/reflection/grpc_reflection_v1/reflection.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/reflection/grpc_reflection_v1/reflection_grpc.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/reflection/grpc_reflection_v1alpha/reflection.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/reflection/grpc_reflection_v1alpha/reflection_grpc.pb.gois excluded by!**/*.pb.go,!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/resolver/resolver.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/rpc_util.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/server.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/stats/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/stats/stats.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/stream.gois excluded by!vendor/**,!**/vendor/**vendor/google.golang.org/grpc/version.gois excluded by!vendor/**,!**/vendor/**
📒 Files selected for processing (1)
go.mod
|
@jparrill: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
/lgtm |
|
@jparrill: Jira Issue OCPBUGS-80948: All pull requests linked via external trackers have merged: Jira Issue OCPBUGS-80948 has been moved to the MODIFIED state. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
What this PR does / why we need it
Updates the
go.modreplace directive for Velero from a stale pseudo-version on theoadp-1.5branch to the latest commit on theoadp-devbranch, which is the correct upstream branch formain.Before:
After:
This fixes two problems:
v2alpha1APIs the plugin depends on. See chore(deps): update non-k8s-go-dependencies (major) #215 and chore(deps): update non-k8s-go-dependencies (major) #216.Branch alignment strategy
Each branch of hypershift-oadp-plugin should track the corresponding openshift/velero branch:
main→oadp-dev(this PR)oadp-1.6→oadp-1.6(follow-up)oadp-1.5→oadp-1.5(follow-up)Which issue(s) this PR fixes
Fixes https://redhat.atlassian.net/browse/OCPBUGS-80948
Fixes #223
Checklist
🤖 Generated with Claude Code via
/jira:solve OCPBUGS-80948