mirror of
https://github.com/jumpserver/jumpserver.git
synced 2026-03-18 11:02:09 +00:00
fix: timing-unsafe bootstrap_token comparison
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
import hmac
|
||||
import time
|
||||
|
||||
from django.conf import settings
|
||||
@@ -48,7 +49,10 @@ class WithBootstrapToken(permissions.BasePermission):
|
||||
return False
|
||||
|
||||
request_bootstrap_token = authorization.split()[-1]
|
||||
return settings.BOOTSTRAP_TOKEN == request_bootstrap_token
|
||||
return hmac.compare_digest(
|
||||
settings.BOOTSTRAP_TOKEN.encode(),
|
||||
request_bootstrap_token.encode()
|
||||
)
|
||||
|
||||
|
||||
class ServiceAccountSignaturePermission(permissions.BasePermission):
|
||||
|
||||
Reference in New Issue
Block a user