Article
Five AG-UI Protocol CVEs: Two Are Fixed, Three Are Not
Five AG-UI protocol vulnerabilities hit the TypeScript client for AI agent frontends. Two are fixed in version 1.0.0; three still have no released patch.
Quick links
Press Enter to search, Esc to close
Vulnerability
A missing authorization flaw in the upload endpoints of the Kubeflow Pipelines API server in multi-user mode.
In short
CVE-2026-77596 is a missing authorization flaw in the upload endpoints of the Kubeflow Pipelines API server in multi-user mode. A low-privilege tenant can add pipeline versions that other tenants then run. GitHub, the CNA, scores it CVSS 3.1 9.6 Critical, and the maintainers fixed it in 2.18.0.
CVE-2026-77596 is an authorization gap in the upload endpoints of the Kubeflow Pipelines API server. Kubeflow Pipelines builds and deploys machine learning workflows. In multi-user mode, the server should check that a caller may write a pipeline before it accepts an upload.
The maintainers say that check is skipped when the target namespace is empty. An empty namespace is how Kubeflow Pipelines addresses shared, cluster-wide pipelines, and it is the default when a caller names no namespace. The setting that would require a namespace defaults to false and is unset in the shipped manifests.
Per the advisory, a low-privilege tenant can create shared pipelines or add attacker-controlled versions to existing shared pipelines without the write permission. The CVE record adds that an unauthenticated caller can do the same when the API server is reachable without an authenticating proxy. Deployments behind such a proxy do not expose anonymous access.
The advisory's automatic path to code execution needs an enabled recurring run that follows the latest version of the shared pipeline. That run then executes the injected specification in another tenant's namespace, under that workload's service account. Runs pinned to a version, or with an embedded specification, are not substituted automatically.
The maintainers limit the impact. They say execution gets the victim workload's permissions and mounted data, and it does not by itself grant every secret in the namespace or cluster-admin rights. They also say they verified the scheduled-run path by source inspection and did not reproduce it end to end.
We leave out request details on purpose. Our least privilege entry explains the principle this flaw bypasses.
GitHub, the CNA, scores it CVSS 3.1 9.6 Critical with vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N. NVD lists GitHub's score as secondary and shows the entry as received on 5 November 2026. There is no CVSS 4.0 score in the record or NVD.
The maintainers say the vector assesses the authenticated tenant scenario. Scope is changed because the consequence reaches a different tenant's namespace and service account. See our CVSS entry for how to read the vector.
The advisory says the first fixed release is 2.18.0 and that releases through 2.17.3 remain affected. As of CISA catalog version 2026.11.04, the CVE is not in the Known Exploited Vulnerabilities catalog. Our KEV glossary entry explains the catalog.
The CVE record lists Kubeflow Pipelines before 2.18.0 as affected. The GitHub advisory states the range as 2.17.3 and earlier and names 2.18.0 as the patched version. It lists the kfp-api-server container image as the affected software.
The advisory describes multi-user deployments and says the fix leaves single-user behavior unchanged. After the upgrade, shared uploads that earlier scripts or clients relied on are rejected. Plan client changes before you roll out.
The advisory names two client changes. In the user interface, choose Private for tenant-owned pipelines. In the Python SDK, pass the tenant namespace explicitly on upload. Our vulnerability management guide covers rollout planning.
GitHub credits the reporter as VitoCrl. The maintainers merged the fix into the master branch on 9 September 2026, in pull request 14352.
The maintainers merge the fix into the master branch in pull request 14352, per the GitHub advisory.
Kubeflow Pipelines 2.18.0 is released and the GitHub advisory GHSA-rjr3-43j3-4q8g is published.
GitHub publishes the CVE record, and NVD publishes its entry.
List every Kubeflow Pipelines deployment. Note which run in multi-user mode and which expose the API server beyond an authenticating proxy.
Move the server and its manifests to 2.18.0, as the advisory says. Read the 2.18 RBAC and client migration guide first, because shared uploads now need an authorized writer.
The advisory says operators can set REQUIRE_NAMESPACE_FOR_PIPELINES to true, which rejects empty-namespace pipeline operations. Expect shared uploads to stop working until you upgrade.
The advisory warns that the fix does not remove versions uploaded earlier. We recommend reviewing shared pipeline versions and the recurring runs that follow them for unauthorized changes, and pinning those runs to a reviewed version.
We recommend that clients reach the API server only through an authenticating proxy. The advisory says not to grant blanket system-namespace access to keep old upload scripts working.
The CVE record lists versions before 2.18.0, and the GitHub advisory states the range as 2.17.3 and earlier. The advisory names 2.18.0 as the first fixed release.
The CVSS vector assumes a low-privilege tenant. The CVE record adds that an unauthenticated caller can exploit the same bypass if the API server is reachable without an authenticating proxy.
The advisory says operators can set REQUIRE_NAMESPACE_FOR_PIPELINES to true as interim hardening. It warns this has a compatibility impact on shared uploads.
No. The advisory says restoring authorization does not remove previously uploaded malicious versions. It tells operators to review shared pipeline versions and consuming recurring runs.
It is not in catalog version 2026.11.04. The record and the advisory do not state whether the flaw is exploited.
Take control of your digital security with an exclusive demo of our AI-driven threat intelligence platform.