KamoCRM

Benötigen Sie eine gültige *** Sitzung über die nicht authentifizierten Pipeline-Endpunkte

FixVectorService
Verschifft
23. September 2026 um 11:36 UTC
Autor
Kamo
Ausschuss
a3d6885

POST /Convert-Vector und WS /ws/pipeline nahmen überhaupt keine Authergrenzung ein - 4820f44 gedeckelte Upload-Größe und Umwandlung Concurrency aber ließ das tatsächliche Loch offen bis zu einer Entscheidung darüber, wie eine Authentifizierung rohe Browser WebSocket, da weder ein Träger-Token noch kamo-internal eigenen X-OTK-Header ist ein Option gibt (eine WebSocket kann keine eigenen Header setzen, und eine einmalige Taste in der WS-Abfrage-String würde in Traefik/Zugriffsprotokollen landen). Traefik Routen /vector-ws/* direkt zu diesem Service, Umgehung Kamo-internal's APIService Gateway komplett, so dass jeder, der diese Hülse erreichen könnte, die pro ************ bedeutete, dass jeder im Internet es aus der CPU/Speicher laufen lassen konnte kostenlos, oder verwenden Sie es als anonymen Bildkonvertierungs-Proxy. Die Lösung: Beide Anrufer sind Browser-Code gleicher Herkunft auf intern.<domain&gt;, so dass der Browser bereits bereits sendet auf jeder Anfrage das *** Session Cookie an diesen Dienst, genauso wie an kamo-interne Dienstleistungen/session_auth.py überprüft dieses Cookie genau so, wie kamo-interne einen überprüft server-Seite (seine app/lib/ksemSessionShared.ts / sessionServer.ts / apiProxy.ts sind sich alle auf die Form): der Cookie-Wert ist die Session-ID, gültig nur bei 128 Hex-Zeichen, und die Sitzung ist gültig, wenn Redis hat etwas bei "***" +, dass id read-only, aus der Replik, mit dem gleichen 5-atm/2s retry kamo-internalen eigenen Routen verwenden, um Replikationsverzögerung zu tolerieren. Ein Redis-Fehler zählt als "nicht gefunden", anstatt den Anrufer durchwinken. - POST /Convert-Vector: 401, bevor der Upload überhaupt gelesen wird. - WS /ws/pipeline: accept() immer noch passiert (uvicorn liefert nur einen echten WS-Schreitcode . Hier 1008, Politikverletzung - sobald der Handschlag begonnen hat; Schließen vor Akzeptieren bricht zu einem bloßen HTTP 403 mit dem verworfenen Code, schließt sich dann sofort, bevor ein Frame gelesen wird. - k8s/configmap.yaml bekommt das gleiche ************ Kamo-internal's configmap trägt - Redis dieses Clusters hat keine ACL, also ist PASSWORD überall leer verbraucht, nicht ein buchstäbliches Einstehen für ein Geheimnis, das nicht existiert. - protokolliert niemals den Cookie-Wert oder die Session-ID (die Redis-Taste ist die ID, nur vorangestellt). /Gesundheit bleibt offen, bewusst - nichts hier ändert es. Tests: test_session_auth.py. Mutation-geprüft durch Umkehrung der beiden Call-Sites von main.py vor Ort: HTTP-Seite Ablehnungstests versagen (der verspottete Konverter wird aufgerufen statt übersprungen) und die WebSocket-Seite Test hängt regelrecht (nichts jemals schließt die Verbindung) - beide bestätigen die Wache ist Tragetragen; nachher restauriert. Bekannte Lücke, außer Reichweite hier: kamo-internal's local-dev path (NEXT_PUBLIC_IMAGE_PIPELINE_URL / localhost:8000) ruft diesen Service Cross-Herorkömmling auf, und weder logoVectorize.ts fetch() noch useImagePipeline.ts WebSocket sendet Anmeldeinformationen Cross-Ursprung standardmäßig, so lokal dev gegen eine Local Vector Service wird nun 401/1008 auf beiden Endpunkten. Die Produktion ist nicht betroffen (gleicher Ursprung).

Alle Änderungen

Wie, was Sie sehen Versand?

Alles kommt in Ihrem Arbeitsbereich für sich. Starten Sie mit dem kostenlosen Plan und lesen Sie diese Seite in einem Monat wieder.

Free Forever startenPreisgestaltung anzeigen