Security
Headlines
HeadlinesLatestCVEs

Headline

CVE-2023-37262: Tighten up the $private HTTP rule · cc-tweaked/CC-Tweaked@4bbde8c

CC: Tweaked is a mod for Minecraft which adds programmable computers, turtles, and more to the game. Prior to versions 1.20.1-1.106.0, 1.19.4-1.106.0, 1.19.2-1.101.3, 1.18.2-1.101.3, and 1.16.5-1.101.3, if the cc-tweaked plugin is running on a Minecraft server hosted on a popular cloud hosting providers, like AWS, GCP, and Azure, those metadata services API endpoints are not forbidden (aka “blacklisted”) by default. As such, any player can gain access to sensitive information exposed via those metadata servers, potentially allowing them to pivot or privilege escalate into the hosting provider. Versions 1.20.1-1.106.0, 1.19.4-1.106.0, 1.19.2-1.101.3, 1.18.2-1.101.3, and 1.16.5-1.101.3 contain a fix for this issue.

CVE
#google#java#oracle#aws#alibaba

Expand Up

@@ -6,9 +6,13 @@

import com.google.common.net.InetAddresses;

import java.net.Inet6Address;

import java.net.InetAddress;

import java.net.InetSocketAddress;

import java.util.Arrays;

import java.util.Set;

import java.util.regex.Pattern;

import java.util.stream.Collectors;

/**

* A predicate on an address. Matches against a domain and an ip address.

Expand Down Expand Up

@@ -107,12 +111,35 @@ public boolean matches(InetAddress socketAddress) {

final class PrivatePattern implements AddressPredicate {

static final PrivatePattern INSTANCE = new PrivatePattern();

private static final Set<InetAddress> additionalAddresses = Arrays.stream(new String[]{

// Block various cloud providers internal IPs.

"100.100.100.200", // Alibaba

"192.0.0.192", // Oracle

}).map(InetAddresses::forString).collect(Collectors.toUnmodifiableSet());

@Override

public boolean matches(InetAddress socketAddress) {

return socketAddress.isAnyLocalAddress()

|| socketAddress.isLoopbackAddress()

|| socketAddress.isLinkLocalAddress()

|| socketAddress.isSiteLocalAddress();

return

socketAddress.isAnyLocalAddress() // 0.0.0.0, ::0

|| socketAddress.isLoopbackAddress() // 127.0.0.0/8, ::1

|| socketAddress.isLinkLocalAddress() // 169.254.0.0/16, fe80::/10

|| socketAddress.isSiteLocalAddress() // 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, fec0::/10

|| socketAddress.isMulticastAddress() // 224.0.0.0/4, ff00::/8

|| isUniqueLocalAddress(socketAddress) // fd00::/8

|| additionalAddresses.contains(socketAddress);

}

/**

* Determine if an IP address lives inside the ULA address range.

*

* @param address The IP address to test.

* @return Whether this address sits in the ULA address range.

* @see <a href="https://en.wikipedia.org/wiki/Unique_local_address">Unique local address on Wikipedia</a>

*/

private boolean isUniqueLocalAddress(InetAddress address) {

// ULA is actually defined as fc00::/7 (so both fc00::/8 and fd00::/8). However, only the latter is actually

// defined right now, so let’s be conservative.

return address instanceof Inet6Address && (address.getAddress()[0] & 0xff) == 0xfd;

}

}

Expand Down

CVE: Latest News

CVE-2023-50976: Transactions API Authorization by oleiman · Pull Request #14969 · redpanda-data/redpanda
CVE-2023-6905
CVE-2023-6903
CVE-2023-6904
CVE-2023-3907