mirror of
https://github.com/netbox-community/netbox.git
synced 2026-03-24 02:11:50 +01:00
Fixes #4146: Fix SecretRole permissions enforcement
This commit is contained in:
@@ -93,8 +93,8 @@ class SecretViewSet(ModelViewSet):
|
||||
|
||||
secret = self.get_object()
|
||||
|
||||
# Attempt to decrypt the secret if the master key is known
|
||||
if self.master_key is not None:
|
||||
# Attempt to decrypt the secret if the user is permitted and the master key is known
|
||||
if secret.decryptable_by(request.user) and self.master_key is not None:
|
||||
secret.decrypt(self.master_key)
|
||||
|
||||
serializer = self.get_serializer(secret)
|
||||
@@ -111,7 +111,9 @@ class SecretViewSet(ModelViewSet):
|
||||
if self.master_key is not None:
|
||||
secrets = []
|
||||
for secret in page:
|
||||
secret.decrypt(self.master_key)
|
||||
# Enforce role permissions
|
||||
if secret.decryptable_by(request.user):
|
||||
secret.decrypt(self.master_key)
|
||||
secrets.append(secret)
|
||||
serializer = self.get_serializer(secrets, many=True)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user