KamoCRM

Путь сеанса ищет собственную организацию звонящего, а не тело запроса

FixRAGService
Порезанный
23 сентября 2026 г. в 01:16 UTC
Автор
Kamo
Обещать
6488bd4

RagSearchController читает orgId/memberId/memberType с тела JSON на каждом Путь, включая запросы, заверенные сессией ***, а не X-Internal-Auth. Зарегистрированный участник, имеющий только VIEW KB ARTICLES, может Идентификатор другой организации или идентификатор другого члена в теле и искать, что База знаний организации или личные заметки этого члена прямо через Qdrant's Фильтры — сеанс доказал, кто спрашивал, но никогда не ограничивал то, что они спрашивали. Можно попросить. /reindex/{orgId} и /status/{orgId} имели одинаковую форму Уровень вверх: путь orgId был доверен, когда абонент держал MANAGE KB SETTINGS в *некоторых* организациях, не проверяя их. Усугубляя ситуацию, SessionHelper.hasRight вернулся к истинной для сессии. пустой список прав и снова для тех, у кого нет поля прав вообще, поэтому право Проверки, охраняющие все три конечные точки, пропускались одним и тем же недостающим полем. Правило сейчас: на пути сеанса org/member/memberType являются производными от только ******************* Добавлено в SessionHelper переиндекс/статус дополнительно требуют, чтобы путь orgId был равен самому сеансу Org. hasRight проваливается, совпадая с KBService. Путь X-Internal-Auth AIService не имеет собственной сессии и все равно должен назвать, кто это Поиск в теле. Также переключается секретное сравнение X-Internal-Auth с String.equals на MessageDigest.isEqual, так что разница во времени не может утечь секретный байт В свое время. Тесты: SessionHelperRights Тест показывает закрытые случаи (зеркала KBService) люкс. RagSearchControllerAuthzTest прикрепляет баг доверия к телу и проверка реиндекса/статуса и отдельно доказывает, что путь внутреннего аудита все еще Доверяет телу (единственный способ AIService назвать это). Каждый был проверен красным. против префиксного кода перед этим обязательством.

Все изменения

Как вы видите судоходство?

Все это приходит в ваше рабочее пространство самостоятельно. Начните с бесплатного плана и прочитайте эту страницу через месяц.

Начните бесплатно навсегдаПосмотреть цены