Compare commits

...

6 Commits

Author SHA1 Message Date
Noah van der Aa 52bd10a133
Merge c0264cb36c into e20fec199f 2024-04-27 15:26:05 +08:00
Shane Freeder e20fec199f
Updated Upstream (BungeeCord)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

BungeeCord Changes:
336333ac #3665: Small improvements to TranslatableComponent
d110f662 #3669: Bump org.apache.maven.plugins:maven-shade-plugin from 3.5.2 to 3.5.3
2024-04-25 21:00:45 +01:00
Noah van der Aa c0264cb36c
Use inferior formatting 2021-10-09 11:20:23 +02:00
Noah van der Aa 8745f0fe3f
Use ProcessBuilder 2021-10-07 19:45:58 +02:00
Noah van der Aa fae9cdb6d8
It's called ignored for a reason 🤦 2021-09-30 18:27:10 +02:00
Noah van der Aa dfe8240ec6
Add root/admin user detection 2021-09-30 18:24:12 +02:00
2 changed files with 78 additions and 1 deletions

@ -1 +1 @@
Subproject commit 6f70b15e2ea7f01e9d8690e56d476cfcfc68ef2c
Subproject commit 336333acb1e6140556271545c71f784083559dcc

View File

@ -0,0 +1,77 @@
From 796d9a15ab5cd8d25a282399aa949588050de081 Mon Sep 17 00:00:00 2001
From: Noah van der Aa <ndvdaa@gmail.com>
Date: Thu, 30 Sep 2021 16:59:18 +0200
Subject: [PATCH] Add root/admin user detection
This patch detects whether or not the server is currently executing as a privileged user and spits out a warning.
The warning serves as a sort-of PSA for newer server admins who don't understand the risks of running as root.
We've seen plenty of bad/malicious plugins hit markets, and there's been a few close-calls with exploits in the past.
Hopefully this helps mitigate some potential damage to servers, even if it is just a warning.
Co-authored-by: egg82 <eggys82@gmail.com>
diff --git a/api/src/main/java/io/github/waterfallmc/waterfall/utils/ServerEnvironment.java b/api/src/main/java/io/github/waterfallmc/waterfall/utils/ServerEnvironment.java
new file mode 100644
index 00000000..ecc6c4c1
--- /dev/null
+++ b/api/src/main/java/io/github/waterfallmc/waterfall/utils/ServerEnvironment.java
@@ -0,0 +1,34 @@
+package io.github.waterfallmc.waterfall.utils;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+
+public class ServerEnvironment {
+ private static final boolean RUNNING_AS_ROOT_OR_ADMIN;
+
+ static {
+ boolean isWindows = System.getProperty("os.name").startsWith("Windows");
+ boolean isAdmin = false;
+ String[] command = isWindows ? new String[]{"reg", "query", "reg query \"HKU\\S-1-5-19\"" } : new String[]{"id", "-u" };
+
+ try {
+ Process process = new ProcessBuilder(command).start();
+ process.waitFor();
+ if (isWindows) {
+ isAdmin = process.exitValue() == 0;
+ } else {
+ BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
+ String uid = reader.readLine();
+ isAdmin = uid.equals("0");
+ }
+ } catch (InterruptedException | IOException ignored) {
+ }
+
+ RUNNING_AS_ROOT_OR_ADMIN = isAdmin;
+ }
+
+ public static boolean userIsRootOrAdmin() {
+ return RUNNING_AS_ROOT_OR_ADMIN;
+ }
+}
\ No newline at end of file
diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
index 07d74c67..d66c5a6c 100644
--- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
+++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
@@ -287,6 +287,16 @@ public class BungeeCord extends ProxyServer
isRunning = true;
+ // Waterfall start - detect running as root
+ if ( io.github.waterfallmc.waterfall.utils.ServerEnvironment.userIsRootOrAdmin() ) {
+ getLogger().warning("****************************");
+ getLogger().warning("YOU ARE RUNNING THIS SERVER AS AN ADMINISTRATIVE OR ROOT USER. THIS IS NOT ADVISED.");
+ getLogger().warning("YOU ARE OPENING YOURSELF UP TO POTENTIAL RISKS WHEN DOING THIS.");
+ getLogger().warning("FOR MORE INFORMATION, SEE https://madelinemiller.dev/blog/root-minecraft-server/");
+ getLogger().warning("****************************");
+ }
+ // Waterfall end
+
pluginManager.enablePlugins();
if ( config.getThrottle() > 0 )
--
2.33.0