CVE-2026-49823High· 7.7▾ TwilightFission: Cross-namespace Package read via unvalidated PackageRef in Function admission webhook
▾ Twilight zone — High severity, or a signal on a lesser flaw
impact 42.4 · likelihood 0.1 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Jul 4.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via GHSA
0.3%
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.
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.
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.
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).
Functions that explicitly set spec.package.packageref.namespace to a different namespace are now rejected at admission.
github.com/fission/fission <= 1.23.0Upgrade to a patched release:
github.com/fission/fission 1.24.0Connected by shared product, vendor, weakness, or advisory.
CVE-2026-49824High· 8.5Fission: Cross-namespace Environment reference via unvalidated EnvironmentRef in Function admission webhook
GHSA-7m8x-qg2j-4m3vHigh· 8.1Fission: MessageQueueTrigger scaler manager materializes Secret values into Deployment envvars and accepts arbitrary user PodSpec
CVE-2026-49822High· 7.7Fission: Cross-namespace event leakage via KubernetesWatchTrigger allows persistent tenant surveillance
CVE-2026-50545Critical· 9.9Fission Environment CRD PodSpec Injection Leading to Node Escape and Cluster Takeover
CVE-2026-50563Critical· 9.9Fission Container Executor Function PodSpec Injection Leading to Node Escape
CVE-2026-50564Critical· 9.9Fission Environment CRD podspec passthrough enables hostPID/hostNetwork/privileged pods, node escape