Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2025-56380 — В Frappe Framework v15.72.4 обнаружена уязвимость SQL-инъекции через параметр fieldname в конечной точке API frappe.client.get_value. | Kitploit
Инструменты/GitHubGitHub/moalali/cve-2025-56380
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и Образование
GitHubmoalali/cve-2025-56380

CVE-2025-56380

В Frappe Framework v15.72.4 обнаружена уязвимость SQL-инъекции через параметр fieldname в конечной точке API frappe.client.get_value.

Репозиторий
10 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2025-56380 — Слепая SQL-инъекция на основе времени в Frappe / ERPNext (frappe.client.get_value)

📌 Краткое описание В конечной точке API frappe.client.get_value в Frappe Framework v15.72.4 (а также в кодовой базе ERPNext v15.67.0) обнаружена слепая SQL-инъекция на основе времени. Аутентифицированный пользователь с доступом к API отчётности/клиента может внедрить SQL через параметр fieldname. Вставляя функции временной задержки (например, sleep(15)) в параметр fieldname, атакующий может подтвердить инъекцию по измеримым задержкам ответа — что позволяет осуществлять отказ в обслуживании, раскрытие информации (слепыми методами) и манипуляцию данными.


🛠 Технические детали

  • Тип уязвимости: SQL-инъекция (слепая, на основе времени) (CWE‑89)

  • Затронутые продукты: Frappe Framework / ERPNext

  • Затронутые версии (указанные в отчёте):

    • Frappe — 15.72.4
    • ERPNext — 15.67.0 (затронута та же кодовая база)
  • Затронутый компонент: метод API frappe.client.get_value (frappe/client.py)

  • Уязвимая конечная точка:

    root@kitploit:~
    /api/method/frappe.client.get_value
    

    Пример уязвимого запроса:

    root@kitploit:~
    /api/method/frappe.client.get_value?doctype=Report&fieldname=ref_doctype+%2F+sleep(15)+&filters=Profit+and+Loss+Statement&_=1752174156893
    
  • Уязвимый параметр: fieldname (недостаточно санитизируется / конкатенируется в SQL)

  • Тип атаки: удалённая (требует аутентификации и доступа к API отчётности)

  • Серьёзность: высокая (слепая SQLi на основе времени позволяет эксфильтрацию данных, DoS и манипуляции)

  • Оценочный балл CVSS v3.1: 8.0 (высокий) — оценка основана на удалённой SQL-инъекции, требующей аутентификации и позволяющей раскрытие данных и DoS; окончательную оценку должны проводить организации-назначители.

  • Статус: не исправлено (по данным отчёта)

  • Обнаружил: Mohammed Aloli (GitHub: https://github.com/MoAlali)

  • Дата обнаружения: не указана в отчёте

  • ID CVE: CVE-2025-56380


🚀 Proof of Concept (PoC) — слепая SQL-инъекция на основе времени

Проводите тесты только в авторизованных / лабораторных средах. НЕ запускайте атаку против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения.

PoC-запрос (пример): image

root@kitploit:~
GET /api/method/frappe.client.get_value?doctype=Report&fieldname=ref_doctype+%2F+sleep(15)+&filters=Profit+and+Loss+Statement&_=1752174156893

Шаги для подтверждения

  1. Выполните аутентификацию в целевой системе Frappe/ERPNext под пользователем, имеющим доступ к API отчётности/get_value.
  2. Отправьте указанный выше GET-запрос (или эквивалентную URL-кодированную нагрузку).
  3. Наблюдайте за временем ответа; если ответ задерживается примерно на 15 секунд, это указывает на успешную инъекцию на основе времени.
  4. Повторите тот же запрос, чтобы подтвердить воспроизводимость.
  5. Удалите внедрённую нагрузку +%2F+sleep(15)+& и убедитесь, что ответ возвращается немедленно — это подтверждает, что задержку вызывает именно инъекция.

Примечания: Замените sleep(15) на другие временные функции или значения времени, подходящие для используемой СУБД (например, pg_sleep(n) для PostgreSQL), в зависимости от движка БД. PoC демонстрирует слепую инъекцию на основе времени; более сложные нагрузки можно использовать для извлечения данных побитово.


🧪 Векторы атаки и воздействие

  • Вектор атаки: аутентифицированный пользователь формирует GET-запросы к /api/method/frappe.client.get_value с вредоносным параметром fieldname, содержащим SQL-нагрузки (функции временной задержки).

  • Воздействие:

    • Отказ в обслуживании: принудительные задержки ответа сервера (истощение ресурсов при злоупотреблении).
    • Раскрытие информации: слепое извлечение данных методами, основанными на времени (побитовые/условные по времени запросы).
    • Манипуляция данными: потенциальная возможность изменения состояния базы данных при наличии других векторов SQL-инъекций.
    • Прочее: расширение воздействия в зависимости от привилегий БД, доступных пользователю приложения.

🔐 Рекомендации по смягчению последствий

  1. Параметризованные запросы / подготовленные выражения: убедитесь, что fieldname и все пользовательские данные никогда не конкатенируются напрямую в SQL. Используйте параметризованные запросы или ORM API с корректной привязкой параметров.
  2. Строгая проверка входных данных / белые списки: для параметров, которые должны быть именами полей или идентификаторами, проверяйте их по строгому белому списку допустимых имён полей или используйте серверное сопоставление, а не принимайте необработанные идентификаторы полей от клиентов.
  3. Безопасное экранирование идентификаторов: если идентификаторы должны использоваться динамически, применяйте безопасные функции экранирования/заключения в кавычки идентификаторов, специфичные для БД, — и всё равно ограничивайте допустимые значения.
  4. Учётная запись БД с минимальными привилегиями: запускайте приложение под пользователем БД, обладающим только необходимыми привилегиями (по возможности read-only для конечных точек отчётности).
  5. Ограничение частоты запросов и мониторинг: применяйте лимиты скорости и выявляйте аномальные паттерны запросов или повторяющиеся тесты временных задержек; оповещайте о подозрительном трафике.
  6. Аудит и журналирование: регистрируйте запросы к чувствительным конечным точкам API и отслеживайте подозрительные нагрузки (например, sleep, pg_sleep, benchmark, /, ;).
  7. Патчи и релизы: разработчикам Frappe/ERPNext следует провести аудит frappe.client.get_value и пути кода, обрабатывающего fieldname/фильтры, заменить небезопасную конкатенацию безопасными API и выпустить патч безопасности. Операторам следует оперативно применять обновления.

🔗 Ссылки

  • Обнаруживший / автор отчёта: Mohammed Aloli — GitHub: https://github.com/MoAlali — X: https://x.com/alaliksa_ — LinkedIn: https://www.linkedin.com/in/mohammedaloli/
  • Кодовые базы Frappe / ERPNext (аудит и патч): https://github.com/frappe/frappe , https://github.com/frappe/erpnext
  • Общие рекомендации по SQLi: OWASP SQL Injection Cheat Sheet — https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html

🙏 Благодарности

Обнаружено Mohammed Aloli


📢 Отказ от ответственности

Эта информация предоставлена исключительно в целях защиты и устранения уязвимости. Не пытайтесь эксплуатировать эту уязвимость против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения. Операторам следует уделять первоочередное внимание установке патчей, применять исправления безопасного кода и следовать приведённым выше рекомендациям по смягчению последствий.

Скачать инструмент
  • Тестирование безопасности: добавьте автоматизированные тесты для обнаружения SQL-инъекций (включая слепые на основе времени) в конечных точках API.