ソースを参照

fix: prevent manage system assignment from manage groups permission

NGPixel 3 年 前
コミット
78d02dc8e5
1 ファイル変更8 行追加0 行削除
  1. 8 0
      server/graph/resolvers/group.js

+ 8 - 0
server/graph/resolvers/group.js

@@ -173,6 +173,14 @@ module.exports = {
         throw new gql.GraphQLError('You are not authorized to manage this group or assign these permissions.')
       }
 
+      // Check assigned permissions for manage:groups
+      if (
+        WIKI.auth.checkExclusiveAccess(req.user, ['manage:groups'], ['manage:system']) &&
+        args.permissions.some(p => _.last(p.split(':')) === 'system')
+      ) {
+        throw new gql.GraphQLError('You are not authorized to manage this group or assign the manage:system permissions.')
+      }
+
       // Update group
       await WIKI.models.groups.query().patch({
         name: args.name,