- Expediere
- 23 septembrie 2026 la 01:16 UTC
- Autor
- Kamo
- Comite
- 6488bd4
RagSearchController citește orgId/memberId/memberType din corpul JSON pe fiecare calea, inclusiv cererile autentificate de o sesiune *** mai degrabă decât X-Non-Auth. Un membru semnat cu numai view KB ARTICOLE ar putea pune o ID-ul diferit Orga, sau un alt membru, în organism și de căutare care Baza de cunoștințe a lui Org sau notele private ale acelui membru direct prin Qdrant filtre ar putea cere. /reindex/ {orgId} şi /status/{orgId} aveau aceeaşi formă nivel în sus: calea orgId a fost de încredere odată ce apelantul a ținut MANAGE KB SETTINGS în unele * org, fără a verifica a fost a lor. Face mai rău, SessionHelper.has Right returnat adevărat pentru o sesiune cu o lista de drepturi goale și din nou pentru unul cu nici un domeniu de drepturi la toate, astfel dreptul cecurile care păzeau toate cele trei criterii de evaluare au fost omise de acelaşi câmp lipsă. Regula acum: pe calea sesiunii, org/membru/membruType sunt derivate din sesiune numai *************** adăugat la SessionHelper) și reindex/status necesită suplimentar calea orgId pentru a egala propria sesiune org. hasRight esecuri închise, potrivire KBService lui. Calea X-Normal-Auth este neschimbate Caută în corp. De asemenea, a schimbat comparaţia secretă X-Non-Auth de la String.equals la MesajDigest.esteEqual astfel încât o diferență de sincronizare nu poate scurge un octet secret la un moment dat. Teste: SessionHelperRights Încuietorile de încercare ale cazurilor închise (oglindă KBservice's Apartament). RagSearchControllerAuthzTest pini bug corp-trust și reindex/status org check, and separately dovedits the intern-auth trail still are încredere în organism (singura modalitate de a apela AIService acest lucru). Fiecare a fost verificat roșu împotriva codului pre-fix înainte de această comitere.
