KamoCRM

세션 경로는 콜러의 자신의 org를 검색, 결코 요청 신체

FixRAGService
Shipped
2026년 9월 23일 오전 1:16 UTC
Author
Kamo
Commit
6488bd4

RagSearchController는 JSON 몸에서 orgId/memberId/memberType을 읽습니다 해당 이용 후기에 달린 코멘트가 없습니다. X-내부 VIEW KB ARTICLES만의 로그인 회원은 다른 org의 ID, 또는 다른 회원의 ID, 몸과 검색 org의 지식베이스 또는 그 회원의 개인 노트는 Qdrant의 필터 - 세션은 누가 요구되었는지 입증하지만 그들은 무엇을 의미하지 않았다 요청할 수 있습니다. /reindex/{orgId} 과 /status/{orgId} 같은 모양이 있었다 레벨 업: orgId 경로는 콜러가 MANAGE KB SETTINGS를 개최 한 번 신뢰할 수 있었습니다. *some* org, 검사하지 않고 그들의. 더 나쁜 만들기, sessionHelper.hasRight는 세션에 대한 진실을 반환 빈 권한 목록과 다시 한 번에 권한 필드가 전혀 없습니다. 모든 3개의 엔드포인트를 보호하는 체크는 동일한 누락된 분야에 의해 건너 뛸 수 있었습니다. 규칙은 이제: 세션 경로에, org/member/memberType은에서 파생됩니다 세션 만 *********** SessionHelper에 추가됨 reindex/status는 추가적으로 세션의 소유와 동등한 경로 orgId를 요구합니다 org. hasRight는 KBService의 일치, 닫히지 못합니다. X-Internal-Auth 경로는 unchanged — AIService는 자체의 세션이 없으며 여전히 이름이 있어야 합니다. 몸에 대한 검색. 또한 String.equals에서 X-Internal-Auth 비밀 비교를 전환 MessageDigest.isEqual 그래서 타이밍 차이는 비밀 1 바이트를 누출 할 수 없습니다 시간. 테스트: SessionHelperRights 테스트 핀 실패 닫힌 케이스 (mirrors KBService's 스위트). RagSearchControllerAuthzTest는 몸 위탁 버그 및 reindex/status org 검사, 별도로 내부의 경로가 여전히 증명 몸의 신뢰 (AIService's only way to call this). 각 확인 된 빨간색 이 커밋 전에 접두사 코드에 대하여.

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