From b2660bcf78ccf08a3a0ae39a8c9ffb397efef9ff Mon Sep 17 00:00:00 2001 From: Abe Ratnofsky Date: Tue, 30 Aug 2022 15:23:26 -0700 Subject: [PATCH] Fix JMX security vulnerabilities patch by Abe Ratnofsky; reviewed by Jon Meredith, Mick Semb Wever, Sam Tunnicliffe for CASSANDRA-17921 --- CHANGES.txt | 1 + conf/cassandra-env.sh | 4 + ide/idea/workspace.xml | 2 +- .../auth/jmx/AuthorizationProxy.java | 170 ++++++++++++++++++ .../cassandra/service/CassandraDaemon.java | 28 +++ 5 files changed, 204 insertions(+), 1 deletion(-) create mode 100644 src/java/org/apache/cassandra/auth/jmx/AuthorizationProxy.java diff --git a/CHANGES.txt b/CHANGES.txt index 7dd28c8a84..799d0b11d9 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.28 + * Harden JMX by resolving beanshooter issues (CASSANDRA-17921) * Suppress CVE-2019-2684 (CASSANDRA-17965) * Fix auto-completing "WITH" when creating a materialized view (CASSANDRA-17879) * Fix scrubber falling into infinite loop when the last partition is broken (CASSANDRA-17862) diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh index 016e592a9f..a5ac96c6c5 100644 --- a/conf/cassandra-env.sh +++ b/conf/cassandra-env.sh @@ -294,6 +294,10 @@ if [ "x$LOCAL_JMX" = "x" ]; then LOCAL_JMX=yes fi +## Cassandra also ships with a helper for protecting against security gaps in a default JMX configuration. To use it, +## uncomment line below. +#JVM_OPTS="$JVM_OPTS -Dcassandra.jmx.authorizer=org.apache.cassandra.auth.jmx.AuthorizationProxy" + # Specifies the default port over which Cassandra will be available for # JMX connections. # For security reasons, you should not expose this port to the internet. Firewall it if needed. diff --git a/ide/idea/workspace.xml b/ide/idea/workspace.xml index 4a7a5c9028..a3fda6ac5d 100644 --- a/ide/idea/workspace.xml +++ b/ide/idea/workspace.xml @@ -188,7 +188,7 @@