LazoYoung / CraftGames

Minecraft Paper plugin that enables you to make custom minigame scripts.
MIT License
2 stars 1 forks source link

Plugin is vulnerable to Unix file permission. #67

Closed LazoYoung closed 4 years ago

LazoYoung commented 4 years ago
[08:13:02 INFO]: LapisYeong issued server command: /join survivalGame
[08:13:02 WARN]: java.io.IOException: Permission denied
[08:13:02 WARN]: at java.io.UnixFileSystem.createFileExclusively(Native Method)
[08:13:02 WARN]: at java.io.File.createNewFile(File.java:1012)
[08:13:02 WARN]: at com.github.lazoyoung.craftgames.game.script.groovy.ScriptGroovy.startLogging(ScriptGroovy.kt:46)
[08:13:02 WARN]: at com.github.lazoyoung.craftgames.game.module.Module.<init>(Module.kt:34)
[08:13:02 WARN]: at com.github.lazoyoung.craftgames.game.Game.<init>(Game.kt:72)
[08:13:02 WARN]: at com.github.lazoyoung.craftgames.game.Game$Companion.openNew(Game.kt:159)
[08:13:02 WARN]: at com.github.lazoyoung.craftgames.command.GameAccessCommand.onCommand(GameAccessCommand.kt:54)
[08:13:02 WARN]: at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45)
[08:13:02 WARN]: at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:159)
[08:13:02 WARN]: at org.bukkit.craftbukkit.v1_15_R1.CraftServer.dispatchCommand(CraftServer.java:752)
[08:13:02 WARN]: at net.minecraft.server.v1_15_R1.PlayerConnection.handleCommand(PlayerConnection.java:1826)
[08:13:02 WARN]: at net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:1634)
[08:13:02 WARN]: at net.minecraft.server.v1_15_R1.PacketPlayInChat.a(PacketPlayInChat.java:47)
[08:13:02 WARN]: at net.minecraft.server.v1_15_R1.PacketPlayInChat.a(PacketPlayInChat.java:5)
[08:13:02 WARN]: at net.minecraft.server.v1_15_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:23)
[08:13:02 WARN]: at net.minecraft.server.v1_15_R1.TickTask.run(SourceFile:18)
[08:13:02 WARN]: at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136)
[08:13:02 WARN]: at net.minecraft.server.v1_15_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23)
[08:13:02 WARN]: at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109)
[08:13:02 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.ba(MinecraftServer.java:1076)
[08:13:02 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.executeNext(MinecraftServer.java:1069)
[08:13:02 WARN]: at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119)
[08:13:02 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.sleepForTick(MinecraftServer.java:1033)
[08:13:02 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:950)
[08:13:02 WARN]: at java.lang.Thread.run(Thread.java:748)
[08:13:02 ERROR]: [CraftGames] Failed to establish script logging system.
[08:13:03 WARN]: [CraftGames] Plugin CraftGames v1.0-SNAPSHOT generated an exception while executing task 816
java.lang.RuntimeException: Failed to install map file (lobby) for survivalGame.
at com.github.lazoyoung.craftgames.game.GameMap$generate$1.run(GameMap.kt:124) ~[?:?]
at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84) ~[patched_1.15.2.jar:git-Paper-211]
at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) ~[patched_1.15.2.jar:git-Paper-211]
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.15.2.jar:git-Paper-211]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_242]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_242]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
Caused by: java.nio.file.AccessDeniedException: plugins/CraftGames/Sample/survivalGame/lobby -> plugins/CraftGames/Sample/survivalGame/game_3
at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) ~[?:1.8.0_242]
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ~[?:1.8.0_242]
at sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:457) ~[?:1.8.0_242]
at sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:262) ~[?:1.8.0_242]
at java.nio.file.Files.move(Files.java:1395) ~[?:1.8.0_242]
at com.github.lazoyoung.craftgames.game.GameMap$generate$1.run(GameMap.kt:94) ~[?:?]
... 6 more
LazoYoung commented 4 years ago

The issue disappeared after restarting the server (on Ubuntu). Hmm;

If anyone encounters the same problem, please report here!