Skip to content

[Audit] Require explicit namespaces for K8s discovery RBAC #441

Description

@RaminNietzsche

Background

Kubernetes discovery RBAC defaults are too broad for shared clusters.

Problem

Empty K8S_DISCOVERY_NAMESPACES / Helm namespaces: "" leads to listDeploymentForAllNamespaces with a ClusterRole listing Deployments cluster-wide (server/services/discovery/kubernetes.ts, charts/cve-radar/templates/rbac-discovery.yaml).

Proposed solution

  • Require explicit namespace list when discovery is enabled
  • Prefer namespaced Role/RoleBinding over ClusterRole
  • Helm fail when enabled && namespaces empty unless allowAllNamespaces: true

Acceptance criteria

  • Default install cannot list all namespaces
  • Docs/values make scope explicit
  • Tests cover empty-namespace rejection

Priority

P1 / Medium

Complexity

Small

Evidence

server/services/discovery/kubernetes.ts, server/lib/k8sDiscoveryConfig.ts, Helm rbac-discovery

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions