Language: Java
Label: vulnerable
CWE: CWE-502 \u2014 Deserialization of Untrusted Data
The product deserializes untrusted data without sufficiently verifying that the resulting data will be valid.

Code:
	public boolean isSatelliteConnected() {
		final List<ExitRoute> routes = getRoutedPipe().getRouter().getIRoutersByCost();
		for (final BaseLogicSatellite satellite : BaseLogicSatellite.AllSatellites) {
			if (satellite.satelliteId == satelliteId) {
				CoreRoutedPipe satPipe = satellite.getRoutedPipe();
				if(satPipe == null || satPipe.stillNeedReplace() || satPipe.getRouter() == null)
					continue;
				IRouter satRouter = satPipe.getRouter();
				for (ExitRoute route:routes) {
					if (route.destination == satRouter) {
						return true;
					}
				}
			}
		}
		return false;
	}