KamoCRM

Ścieżka sesji przeszukuje własny org dzwonicza, nigdy organ żądań

FixRAGService
Shipped
23 września 2026 01:16 UTC
Author
Kamo
Commit
6488bd4

RagSearchController read orgId/memberId/memberType z ciała JSON na każdym Ścieżka, w tym prośby uwierzytelnione przez sesję, a nie X-wewnętrzny Auth. Podpisany członek z tylko VIEW_KB_ARTICLES może umieścić Inny id org, lub inny członek, w ciele i szukaj tego. Baza wiedzy orgga lub prywatne notatki tego członka bezpośrednio przez Qdrant's Filtry – sesja dowiodła, kto pytał, ale nigdy nie ograniczał, co oni Można by zapytać. /reindex/orgId i /status/orgId miały ten sam kształt Poziom up: ścieżka orgId została zaufana, gdy dzwoniąca trzymała MANAGE_KB_SETTINGS W "niekim" org, bez sprawdzania, że to był ich. Co gorsza, SessionHelper.HasRight wrócił na sesję z a. Lista pustych praw i ponownie dla osoby bez pola praw w ogóle, więc prawo Kontrole pilnuje wszystkich trzech punktów końcowych były pomijane przez to samo brakujące pole. Reguła teraz: na ścieżce sesji, org/członek/członekTyp wywodzi się z Tylko sesja - dodana do SessionHelper), oraz Reindex/status dodatkowo wymaga ścieżki orgId do równego własnego sesji Org. hasRight nie zawodzi, dopasowując KBService. Ścieżka X-Internal-Auth jest Niezmieniony – AIService nie ma własnej sesji i nadal musi wymieniać, kim jest Poszukiwanie w ciele. Przełączył również tajne porównanie X-Internal-Auth z String.equals do WiadomościDigest.is Równa różnica czasu nie może ujawnić tajnego bajtu W pewnym momencie. Testy: SessionHelperRightsTest przypina przypadki zamknięte fail (lustrza KBService's Apartament). RagSearchControllerAuthzTest przypina błąd zaufania do ciała i Kontrola reindex/stateus org i oddzielnie udowadnia, że ścieżka wewnętrzna nadal jest Zaufaj ciału (jedynym sposobem, aby to nazwać). Każdy był zweryfikowany na czerwono W przypadku kodu przedrostka przed tym zatwierdzeniu.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing