Skip to content

P0: Block ClusterGateway transport until upstream strips inbound Authorization before MSA proxying #104

Description

@gnanirahulnutakki

Security blocker

Slice #103 cannot ship against ClusterGateway v1.3.1, v1.3.2, or v1.4.0. Its proxy handler clones the incoming hub request headers, including Authorization, before creating a transport from the registered managed-service-account credential. The Kubernetes bearer wrapper preserves an existing authorization header, so a hub caller credential reaches the managed-cluster API instead of the scoped MSA.

Reproduction

The retained M0 hub-plus-two-spoke lab proves the gateway MSA can list only sith-demo Pods and is denied Secrets. A Sith hub reader with only get on clustergateways/proxy nevertheless receives HTTP 200 from the pinned gateway Secrets route. The test is now privacy-safe and does not print response bodies. Disabling the pinned cluster-proxy chart impersonation flag does not change this result.

Required resolution

  • Upstream must remove or replace inbound Authorization before proxying with the selected MSA credential.
  • Add upstream regression coverage for caller header precedence and a real managed-cluster RBAC denial.
  • Revalidate with Sith M0 two-spoke integration before reopening P1: Implement pinned OCM ClusterGateway snapshot transport #103.

Scope

No Sith transport is merged while this remains unresolved. This issue does not contain credentials, response bodies, or cluster data.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions