Skip to content

fix(frontend): reject foreign canonical artifact namespaces - #15290

Open
jeffspahr wants to merge 1 commit into
release-2.18from
codex/218-canonical-artifact-namespace
Open

jeffspahr wants to merge 1 commit into
release-2.18from
codex/218-canonical-artifact-namespace

Conversation

@jeffspahr

Copy link
Copy Markdown
Collaborator

A successful MLMD ownership lookup can authorize an artifact even when its standard storage key explicitly names another namespace. For keys under the configured private-artifacts/<namespace>/ prefix, reject a mismatch with the caller's authorized namespace before consulting MLMD or reading storage. The check covers encoded namespace aliases and namespace directory roots in both direct and proxied artifact paths.

Custom roots without that prefix retain their existing metadata-based behavior. This is bounded protection for canonical keys; storage authority for custom roots remains separate work.

Verification: 59 focused validator and HTTP/protobuf integration tests passed. Frontend server lint, TypeScript typecheck, Prettier checks, and git diff --check passed. The integration test verifies that a tracked foreign-prefix object is denied before MLMD or object storage is contacted, while a matching-prefix object remains readable.

Signed-off-by: Jeff Spahr spahrj@gmail.com

Signed-off-by: Jeff Spahr <spahrj@gmail.com>
@google-oss-prow

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from jeffspahr. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@github-actions

Copy link
Copy Markdown

Contributor Report for @jeffspahr

Metric Value
Kubeflow org member Yes
Issues opened in kubeflow/pipelines 453
Merged PRs in kubeflow/pipelines 380
GitHub account age 3480 days (created 2017-04-21)
PR comments in kubeflow/pipelines 1635

@github-actions github-actions Bot added the ci-passed All CI tests on a pull request have passed label Oct 31, 2026

This branch has not been deployed

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

Labels

ci-passed All CI tests on a pull request have passed size/M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant