
Эксплуатационный PoC для CVE-2022-34662, нацеленный на Apache DolphinScheduler, позволяющий удаленное выполнение кода через сконструированную SQL-инъекцию в планировщике рабочих процессов.
DolphinScheduler — это распределённая и расширяемая платформа для планирования рабочих процессов с мощным визуальным интерфейсом DAG, предназначенная для решения сложных зависимостей задач в конвейере данных и предоставляющая различные типы задач «из коробки».
Её основные цели:

Пожалуйста, обратитесь к официальной документации: QuickStart in Docker
Пожалуйста, обратитесь к официальной документации: QuickStart in Kubernetes
./mvnw clean install -Prelease
Артефакты:
dolphinscheduler-dist/target/apache-dolphinscheduler-${latest.release.version}-bin.tar.gz: Бинарный пакет DolphinScheduler
dolphinscheduler-dist/target/apache-dolphinscheduler-${latest.release.version}-src.tar.gz: Исходный пакет DolphinScheduler
DolphinScheduler основан на множестве отличных проектов с открытым исходным кодом, таких как Google guava, guice, grpc, netty, quartz и многих открытых проектах Apache и т.д. Мы хотим выразить глубокую благодарность всем проектам с открытым исходным кодом, используемым в Dolphin Scheduler. Мы надеемся, что являемся не только бенефициарами open-source, но и вносим свой вклад в сообщество. Кроме того, мы надеемся, что каждый, кто разделяет энтузиазм и страсть к открытому исходному коду, присоединится и внесёт вклад в сообщество открытого кода!
Мы приветствуем общение с разработчиками и пользователями Dolphin Scheduler. Есть два способа связаться с ними:
Сообщество приветствует всех желающих внести вклад; пожалуйста, ознакомьтесь с этой страницей для получения дополнительной информации: How to contribute.
Пожалуйста, обратитесь к файлу LICENSE.
| Стабильность | Доступность | Возможности | Масштабируемость |
|---|
| Децентрализованное multi-master и multi-worker | Визуализация ключевой информации рабочего процесса, такой как статус задачи, тип задачи, количество повторов, информация о машине, выполняющей задачу, визуальные переменные и т. д. — всё на одном экране. | Поддержка паузы, восстановления | Поддержка пользовательских типов задач |
| Поддержка HA | Визуализация всех операций рабочего процесса: перетаскивание задач для построения DAG, настройка источников данных и ресурсов. Кроме того, для сторонних систем предоставляется режим работы через API. | Пользователи DolphinScheduler могут реализовать отношение «многие к одному» или «один к одному» между арендаторами и пользователями Hadoop, что очень важно для планирования больших заданий с данными. | Планировщик поддерживает распределённое планирование, и общая производительность планирования будет линейно расти с увеличением размера кластера. Мастер и Воркер поддерживают динамическую настройку. |
| Обработка перегрузки: с помощью механизма очереди задач можно гибко настраивать количество планируемых задач на одной машине. Перегрузка машины предотвращается за счёт высокой толерантности к большому количеству задач, кэшированных в очереди. | Развёртывание одним кликом | Поддержка традиционных shell-задач и планирования задач для платформ больших данных: MR, Spark, SQL (MySQL, PostgreSQL, hive, spark SQL), Python, Procedure, Sub_Process |