Просмотр исходного кода

fix(googlereader): use constant-time comparison for auth token validation

Frédéric Guillot 2 недель назад
Родитель
Сommit
3105e1e55b
1 измененных файлов с 2 добавлено и 1 удалено
  1. 2 1
      internal/googlereader/middleware.go

+ 2 - 1
internal/googlereader/middleware.go

@@ -12,6 +12,7 @@ import (
 	"net/http"
 	"strings"
 
+	"miniflux.app/v2/internal/crypto"
 	"miniflux.app/v2/internal/http/request"
 	"miniflux.app/v2/internal/model"
 	"miniflux.app/v2/internal/storage"
@@ -130,7 +131,7 @@ func (m *authMiddleware) validateApiKey(next http.Handler) http.Handler {
 			return
 		}
 		expectedToken := getAuthToken(integration.GoogleReaderUsername, integration.GoogleReaderPassword)
-		if expectedToken != token {
+		if !crypto.ConstantTimeCmp(expectedToken, token) {
 			slog.Warn("[GoogleReader] Token does not match",
 				slog.Bool("authentication_failed", true),
 				slog.String("client_ip", clientIP),