Der API-Server von Kubeflow Pipelines in Versionen vor 2.18.0 dekomprimiert hochgeladene Pipeline-Archive, ohne die entpackte Grösse ausreichend zu begrenzen. Ein kleines, speziell erstelltes ZIP- oder gzip-komprimiertes tar-Archiv kann viel Arbeitsspeicher belegen und die Ressourcen des API-Servers erschöpfen. Da die Dekomprimierung vor der Namespace-Autorisierung erfolgt, kann jeder Aufrufer, der den Upload-Endpunkt erreicht, dies ohne gültige Anmeldedaten auslösen.
Kubeflow · Kubeflow Pipelines
Kubeflow Pipelines vor 2.18.0 prüft beim Abruf von Pod-Logs über den Run-Log-Endpunkt des API-Servers nicht, ob der Aufrufer auf den Run zugreifen darf. Ein Angreifer, der den API-Server erreichen kann und eine Run-ID sowie einen passenden Pod- oder Node-Bezeichner kennt, kann Live- oder archivierte Logs mit den Berechtigungen des API-Servers lesen. Da der Live-Log-Pfad die Node-ID zudem als Pod-Namen akzeptiert, ohne den Run zu prüfen, kann eine bekannte Run-ID genutzt werden, um Logs eines fremden Pods in einem anderen Namespace zu lesen. Die offengelegten Logs können sensible Workload-Daten oder Zugangsdaten enthalten.
Kubeflow · Pipelines
Kubeflow Pipelines vor 2.18.0 beschränkt den über die Route GET /artifacts/get?source=volume übergebenen Dateipfad nicht auf das ausgewählte Volume. Ein Angreifer, der diese Route erreichen kann und den Namen eines bestehenden eingebundenen Volumes kennt, kann Dateien ausserhalb dieses Volumes lesen, soweit der Artefakt-Dienst darauf Lesezugriff hat. Bei deaktivierter Authentifizierung sind keine Zugangsdaten nötig; in Multi-User-Umgebungen muss der Aufrufer in der Regel für den angegebenen Namespace berechtigt sein. Die Auswirkung beschränkt sich auf die Vertraulichkeit.
Kubeflow · Pipelines
Kubeflow Model Registry bis 0.3.17 enthält eine Server-side Request Forgery (SSRF)-Schwachstelle im InferenceService-Controller, der die Annotation modelregistry.kubeflow.org/url verarbeitet. Ein authentifizierter Benutzer mit Zugriff auf einen Namespace kann diese Annotation auf einen vom Angreifer kontrollierten Server richten, sodass der Controller seinen ServiceAccount-Bearer-Token dorthin sendet. Mit dem gestohlenen Token kann der Angreifer InferenceServices anderer Mandanten clusterweit verändern.
Kubeflow · Model Registry