🔐 CVE-2026-57821 — Apache Fineract SQL Injection Toolkit 📚 Два Python-скрипта для авторизованного тестирования безопасности: verifier.py (безопасное обнаружение, без извлечения данных) и exploit.py (глубокий анализ). Поддерживает 11 типов БД. Идеально подходит для понимания уязвимостей SQL-инъекций. Только легальные тесты ⚠️ исключительно в образовательных и исследовательских целях.

** ПРАВОВОЕ И ЭТИЧЕСКОЕ УВЕДОМЛЕНИЕ**
Этот инструментарий предоставляется исключительно в образовательных, обучающих и авторизованных целях тестирования безопасности.
Неавторизованное использование против любой системы без явного письменного разрешения является незаконным и нарушает законы о компьютерных преступлениях.
Автор не несёт никакой ответственности за неправомерное использование или ущерб.
Вы несёте полную ответственность за свои действия.
CVE-2026-57821 — это уязвимость SQL-инъекции, обнаруженная в конечной точке API списка офисов Apache Fineract.
| Атрибут | Детали |
|---|---|
| Конечная точка | /api/v1/offices |
| Параметр | orderBy |
| Метод | GET |
| Требуется аутентификация | Да (только аутентифицированные пользователи) |
| Затронутые версии | Apache Fineract ≤ 1.14.0 |
| Исправленная версия | Apache Fineract 1.15.0 |
Уязвимость существует из-за того, что параметр orderBy напрямую встраивается в SQL-запросы без надлежащей санитизации. Злоумышленник с действительными учётными данными может внедрить подзапросы, заключённые в круглые скобки (), в параметр orderBy.
Почему это обходит предыдущие исправления:
ColumnValidator для санитизации предложений ORDER BYORDER BYПример вектора атаки:
GET /api/v1/offices?orderBy=(SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)&limit=1
| Воздействие | Описание |
|---|---|
| Эксфильтрация данных | Слепая SQL-инъекция на основе времени может извлекать конфиденциальное содержимое базы данных |
| Отказ в обслуживании | Тяжёлые запросы могут исчерпать ресурсы пула соединений |
| Раскрытие информации | Методы на основе ошибок могут раскрыть структуру базы данных и данные |
| Атрибут | Детали |
|---|---|
| Обнаружитель / Репортёр | Terence Monteiro (Apache Fineract Team) |
| Дата публичного раскрытия | 14 июля 2026 г. |
| Исправленная версия | Apache Fineract 1.15.0 |
| Официальное объявление | Apache Mailing List |
| Исправление на GitHub | PR #6048 |
Этот инструментарий автоматически определяет и адаптирует методы эксплуатации для 11 различных серверных баз данных:
| База данных | Метод обнаружения | Метод эксплуатации |
|---|---|---|
| PostgreSQL | На основе времени (pg_sleep) | Слепая на основе времени |
| MySQL | На основе времени (SLEEP) | Слепая на основе времени |
| MariaDB | На основе времени + @@version_comment | Слепая на основе времени |
| MSSQL | На основе ошибок (сбой CONVERT) | На основе ошибок |
| Oracle | На основе времени (DBMS_LOCK.SLEEP) | Слепая на основе времени |
| SQLite | Тяжёлый запрос (декартово соединение) | На основе времени (тяжёлый) |
| Firebird | Тяжёлый запрос (декартово соединение) | На основе времени (тяжёлый) |
| DB2 | Тяжёлый запрос (декартово соединение) | На основе времени (тяжёлый) |
| Informix | Тяжёлый запрос (декартово соединение) | На основе времени (тяжёлый) |
| H2 | Тяжёлый запрос (декартово соединение) | На основе времени (тяжёлый) |
| Неизвестная (общая) | Резервный вариант — PostgreSQL | На основе времени |
Этот проект предоставляет два Python-скрипта для различных сценариев оценки безопасности:
verifier.py – Безопасный и минимальный инструмент проверкиНазначение: Быстро доказать наличие уязвимости без извлечения данных.
Что он делает:
VULNERABLE или NOT VULNERABLE для каждого типа базы данных** Преимущества:**
** Сценарий использования:** Первичная оценка для определения уязвимости цели.
exploit.py – Комплексный анализатор безопасностиНазначение: Полноценная эксплуатация уязвимости для извлечения информации из базы данных.
Что он делает:
Преимущества:
Сценарий использования: Углублённый анализ безопасности после подтверждения уязвимости.
Ключевое различие:
verifierPoC.pyсообщает вам, уязвима ли система;exploit.pyпоказывает, что можно извлечь. Оба выполняют разные, но взаимодополняющие роли в процессе оценки безопасности.
requestspip install requests
Отредактируйте следующие переменные в начале обоих скриптов:
| Переменная | Описание | Значение по умолчанию |
|---|---|---|
TARGET | URL API Fineract | http://localhost:8080/fineract-provider/api/v1/offices |
USERNAME | Имя пользователя для аутентификации в API | mifos |
PASSWORD | Пароль для аутентификации в API | password |
TENANT_ID | Идентификатор тенанта | default |
BASE_SLEEP | Длительность задержки для тестов на основе времени (exploit.py) | 6 |
SLEEP_SECONDS | Длительность задержки для тестов на основе времени (verifier.py) | 5 |
TIMEOUT | Тайм-аут HTTP-запроса | 25 (exploit) / 15 (verifier) |
MAX_RETRIES | Количество повторных попыток для неудачных запросов | 2 |
exploit.py - Глубокое сканирование
python3 exploit.py
Ожидаемый результат:
CVE-2026-57821 - Apache Fineract Vulnerability Verifier
══════════════════════════════════════════════════════════════════════════════════════
@tc4dy is here :) Good Luck!
CONNECTION SUCCESS
BASELINE: 0.234s
STARTING VULNERABILITY VERIFICATION
VERIFICATION RESULTS
PostgreSQL: VULNERABLE
MySQL: NOT VULNERABLE
MariaDB: NOT VULNERABLE
Oracle: NOT VULNERABLE
MSSQL: NOT VULNERABLE
CONCLUSION: TARGET IS VULNERABLE (CVE-2026-57821 CONFIRMED)
Interpretation: If VULNERABLE appears for any database type, the target is affected.
Оценка CVSS Метрика Значение Базовая оценка CVSS v3.1 8.1 (Высокая) Вектор CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H Вектор атаки Сеть Требуемые привилегии Низкие Взаимодействие с пользователем Отсутствует Оценка EPSS
0.29% (вероятность эксплуатации в течение 30 дней)
Сопоставление с CWE
CWE‑89: Ненадлежащая нейтрализация специальных элементов, используемых в команде SQL ('SQL-инъекция')
Почему полезная нагрузка работает
Уязвимый код в Apache Fineract 1.14.0: