
استغلال لـ CVE-2021-30180 يستهدف إطار عمل Apache Dubbo RPC، يتيح تنفيذ برمجيات عن بُعد عبر طلبات RPC مصممة في الإصدارات الضعيفة.
Apache Dubbo هو إطار عمل RPC مفتوح المصدر عالي الأداء مبني على Java. يرجى زيارة الموقع الرسمي للبدء السريع والوثائق، بالإضافة إلى الويكي للأخبار والأسئلة الشائعة وملاحظات الإصدارات.
نقوم حاليًا بجمع معلومات مستخدمي Dubbo لمساعدتنا على تحسين Dubbo بشكل أكبر. يرجى دعمنا من خلال إضافة معلوماتك في issue#1012: Wanted: who's using dubbo، شكرًا :)

مقتطف الكود التالي مأخوذ من Dubbo Samples. يمكنك استنساخ المشروع النموذجي والانتقال إلى الدليل الفرعي dubbo-samples-api قبل المتابعة.
# git clone https://github.com/apache/dubbo-samples.git
# cd dubbo-samples/java/dubbo-samples-api
يوجد ملف README داخل دليل dubbo-samples-api. نوصي بالاطلاع على الأمثلة في ذلك الدليل باتباع التعليمات المذكورة أدناه:
<properties>
<dubbo.version>2.7.8</dubbo.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>${dubbo.version}</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper</artifactId>
<version>${dubbo.version}</version>
<type>pom</type>
</dependency>
</dependencies>
package org.apache.dubbo.samples.api;
public interface GreetingsService {
String sayHi(String name);
}
انظر api/GreetingsService.java على GitHub.
package org.apache.dubbo.samples.provider;
import org.apache.dubbo.samples.api.GreetingsService;
public class GreetingsServiceImpl implements GreetingsService {
@Override
public String sayHi(String name) {
return "hi, " + name;
}
}
انظر provider/GreetingsServiceImpl.java على GitHub.
package org.apache.dubbo.samples.provider;
import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.RegistryConfig;
import org.apache.dubbo.config.ServiceConfig;
import org.apache.dubbo.samples.api.GreetingsService;
import java.util.concurrent.CountDownLatch;
public class Application {
private static String zookeeperHost = System.getProperty("zookeeper.address", "127.0.0.1");
public static void main(String[] args) throws Exception {
ServiceConfig<GreetingsService> service = new ServiceConfig<>();
service.setApplication(new ApplicationConfig("first-dubbo-provider"));
service.setRegistry(new RegistryConfig("zookeeper://" + zookeeperHost + ":2181"));
service.setInterface(GreetingsService.class);
service.setRef(new GreetingsServiceImpl());
service.export();
System.out.println("dubbo service started");
new CountDownLatch(1).await();
}
}
انظر provider/Application.java على GitHub.
# mvn clean package
# mvn -Djava.net.preferIPv4Stack=true -Dexec.mainClass=org.apache.dubbo.samples.provider.Application exec:java
package org.apache.dubbo.samples.client;
import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.ReferenceConfig;
import org.apache.dubbo.config.RegistryConfig;
import org.apache.dubbo.samples.api.GreetingsService;
public class Application {
private static String zookeeperHost = System.getProperty("zookeeper.address", "127.0.0.1");
public static void main(String[] args) {
ReferenceConfig<GreetingsService> reference = new ReferenceConfig<>();
reference.setApplication(new ApplicationConfig("first-dubbo-consumer"));
reference.setRegistry(new RegistryConfig("zookeeper://" + zookeeperHost + ":2181"));
reference.setInterface(GreetingsService.class);
GreetingsService service = reference.get();
String message = service.sayHi("dubbo");
System.out.println(message);
}
}
انظر consumer/Application.java على GitHub.
# mvn clean package
# mvn -Djava.net.preferIPv4Stack=true -Dexec.mainClass=org.apache.dubbo.samples.client.Application exec:java
سيعرض المستهلك hi, dubbo على الشاشة.
إذا كنت ترغب في تجربة الميزات المتطورة، يمكنك البناء باستخدام الأوامر التالية. (يلزم Java 1.8 لبناء فرع master)
mvn clean install
القائمة البريدية:
الأخطاء: المشكلات
Gitter: قناة Gitter
Twitter: @ApacheDubbo
انظر CONTRIBUTING للحصول على تفاصيل حول إرسال التصحيحات وسير عمل المساهمة.
Good first issue أو Help wanted.يرجى اتباع النموذج للإبلاغ عن أي مشكلات.
يرجى الإبلاغ عن الثغرات الأمنية إلى فريقنا بشكل خاص.
dubbo لتجميع جميع مشاريع Dubbo ذات الصلة التي لا تناسب مجموعة apache بعدبرنامج Apache Dubbo مرخّص بموجب Apache License Version 2.0. راجع ملف LICENSE للتفاصيل.