GitHub Advisoryadvisory · Go

GHSA-3r8v-2xmj-5c39 Fission: Cross-namespace Package read via unvalidated PackageRef in Function admission webhook

HIGH Published 2026-06-30 Modified 2026-06-30 Official page ↗
Aliases
CVE-2026-49823
Ecosystem
Go
Packages
github.com/fission/fission
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
Weaknesses
CWE-284, CWE-863
Reviewed
2026-06-30

Affected packages

• Go github.com/fission/fission: < 1.24.0 → fixed in 1.24.0

Description

Summary A Fission Function spec carries three reference types — Secret, ConfigMap, and Package. The first two were namespace-validated by the admission webhook; `PackageRef.Namespace` was not. Details A tenant with `functions.fission.io/create` in their own namespace could set `spec.package.packageref.namespace` to any other namespace. When the function is invoked, the fetcher sidecar reads the victim Package using the `fission-fetcher` service account's namespace-wide `get packages` permission and writes its contents to `/userfunc/deployarchive` inside the attacker's pool pod, exposing the victim's source code and any embedded credentials. The `fission-fetcher` SA holds `get packages` in every configured function namespace (granted by `charts/fission-all/templates/_function-access-role.tpl`), so the namespace check was the only barrier between the attacker and any in-cluster Fission Package. Impact A function author in one namespace could read the deployment archive — and therefore the source code and embedded secrets — of any Package in any other namespace. Fix Fixed in #3389 and released in v1.24.0. The admission webhook (`pkg/webhook/function.go::Validate`) rejects `Function.spec.package.packageref.namespace != metadata.namespace`. An empty namespace remains accepted (controllers default it to the function's namespace). This shipped together with the EnvironmentRef cross-namespace check (GHSA-cvw6-gfvv-953q). Behavioural change Functions that explicitly set `spec.package.packageref.namespace` to a different namespace are now rejected at admission.

Related

Alias · CVE (1)

  • CVE-2026-49823 Fission is an open-source, Kubernetes-native serverless framework that simplifies the deployment of functions and applications on… vulnerability

Weakness · CWE (2)

  • CWE-284 Improper Access Control weakness
  • CWE-863 Incorrect Authorization weakness

References