KamoCRM

Wewnętrzne API zawiodło i porównuje jej sekret w stałym czasie

FixESigService
Shipped
23 września 2026 10:03 UTC
Author
Kamo
Commit
c48ed12

Używany String.equals przeciwko X-Internal-Auth (strony czasowe Kanał na wspólnej tajemnicy), a kiedy esig.internal-auth-secret nie był ustawiony, zarejestrował ostrzeżenie i pozwolił Rozmowa z NO w ogóle — każdy wysłany X-Org-Id został zaufany. Teraz korzysta z MessageDigest.isEqual (dopasowanie istniejącego porównania OTP SignerSessionService w tym celu To samo repo) i odrzuca każde wezwanie, gdy tajemnica jest niespokojna, zamiast przepadać. Potwierdzone Jest to bezpieczne dla produkcji: k8s/configmap.yaml wiąże esig.internal-auth-secret - a kubectl pokazuje, że sekret jest obecny I niepuste w przestrzeni nazw kamo, a wdrożony tag esigservice już kieruje tą ścieżką kodu. Nowy test: EsignInternalControllerTest (pusty / niesekundowy sekret odrzucony, zły sekret, prawda Tajna zaakceptowana).

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