Use ConstantTimeCompare when comparing token. (#27007)

Этот коммит содержится в:
Doug Lauder
2024-05-16 08:26:04 -04:00
коммит произвёл GitHub
родитель 5a79565244
Коммит 65325a767c

Просмотреть файл

@@ -4,6 +4,7 @@
package app
import (
"crypto/subtle"
"errors"
"math"
"net/http"
@@ -57,7 +58,7 @@ func (a *App) GetCloudSession(token string) (*model.Session, *model.AppError) {
func (a *App) GetRemoteClusterSession(token string, remoteId string) (*model.Session, *model.AppError) {
rc, appErr := a.GetRemoteCluster(remoteId)
if appErr == nil && rc.Token == token {
if appErr == nil && subtle.ConstantTimeCompare([]byte(rc.Token), []byte(token)) == 1 {
// Need a bare-bones session object for later checks
session := &model.Session{
Token: token,