--- a/net/minecraft/world/level/block/entity/CommandBlockEntity.java
+++ b/net/minecraft/world/level/block/entity/CommandBlockEntity.java
@@ -21,6 +_,13 @@
     private boolean auto;
     private boolean conditionMet;
     private final BaseCommandBlock commandBlock = new BaseCommandBlock() {
+        // CraftBukkit start
+        @Override
+        public org.bukkit.command.CommandSender getBukkitSender(CommandSourceStack wrapper) {
+            return new org.bukkit.craftbukkit.command.CraftBlockCommandSender(wrapper, CommandBlockEntity.this);
+        }
+        // CraftBukkit end
+
         @Override
         public void setCommand(String command) {
             super.setCommand(command);
@@ -51,7 +_,7 @@
                 Vec3.atCenterOf(CommandBlockEntity.this.worldPosition),
                 new Vec2(0.0F, direction.toYRot()),
                 this.getLevel(),
-                2,
+                this.getLevel().paperConfig().commandBlocks.permissionsLevel, // Paper - configurable command block perm level
                 this.getName().getString(),
                 this.getName(),
                 this.getLevel().getServer(),
