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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-31156 — В OpenPLC-v3 существует уязвимость внедрения пути, которая возникает из-за того, что программа не выполняет никаких проверок допустимости параметров пути к файлу, передаваемых из командной строки. Злоумышленники могут читать любые доступные для чтения файлы, создавая вредоносные пути, что создаёт риск утечки информации. | Kitploit
Инструменты/GitHubGitHub/unicorn-hyh/cve-2026-31156
Анализ уязвимостейАнализ КодаЭксплуатацияБезопасность SCADA/ICSСбор информацииНеправильная Конфигурация
GitHubunicorn-hyh/cve-2026-31156

CVE-2026-31156

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →

Описание

3 месяцев назадЕщё не проверено

В OpenPLC-v3 существует уязвимость внедрения пути, которая возникает из-за того, что программа не выполняет никаких проверок допустимости параметров пути к файлу, передаваемых из командной строки. Злоумышленники могут читать любые доступные для чтения файлы, создавая вредоносные пути, что создаёт риск утечки информации.

Поделиться

CVE-2026-31156

В OpenPLC-v3 существует уязвимость внедрения пути, которая возникает из-за того, что программа не выполняет никаких проверок допустимости параметров пути к файлу, передаваемых из командной строки. Злоумышленники могут читать любые доступные для чтения файлы, конструируя вредоносные пути, что создает риск утечки информации.

Тип уязвимости

  • Некорректная проверка вводимых данных (внедрение пути)

  • Раскрытие информации (произвольное чтение файлов)

Обзор уязвимости

Двоичная программа, скомпилированная из glue_generator.cpp, содержит уязвимость произвольного чтения файлов, вызванную недостаточной проверкой путей к файлам, предоставленных пользователем.

Злоумышленник может указать произвольный файл в качестве входного аргумента (например, /etc/passwd) при выполнении программы. Приложение затем читает файл построчно, разбирает содержимое и напрямую выводит разобранные данные на консоль с помощью cout, не выполняя никаких проверок на:

  • допустимость пути к файлу,
  • формат содержимого файла,
  • ограничения доступа к файлу,
  • защиту критически важных файлов.

В результате злоумышленники могут читать любые файлы, доступные в контексте привилегий запущенного процесса, что приводит к раскрытию конфиденциальной информации.

Предварительные условия атаки

  1. Злоумышленник имеет возможность выполнить уязвимый бинарный файл.

  2. Учетная запись пользователя, от которой запускается процесс, имеет право на чтение целевого файла.

Воздействие

Успешная эксплуатация может привести к раскрытию конфиденциальной системной информации, включая, но не ограничиваясь:

  • данными учетных записей пользователей,
  • хэшами паролей,
  • конфигурационными файлами,
  • закрытыми ключами,
  • секретами приложений,
  • другими конфиденциальными данными.

Эта информация может способствовать дальнейшему повышению привилегий или горизонтальному перемещению по сети.

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

В glue_generator.cpp программа использует два строковых массива, varName и varType, для обработки и вывода разобранного содержимого файла в командную строку.

При разборе программа ожидает определенный формат строки:

root@kitploit:~
(<varType>,<varName>,

А именно:

содержимое между ( и первой , присваивается varType; содержимое между первой и второй , присваивается varName.

Никакой проверки исходного пути к файлу или допустимости разобранных данных не выполняется.

Подтверждение концепции

Шаг 1. Создание тестового файла

Создайте файл с именем test.txt со следующим содержимым:

root@kitploit:~
(aaaaaaaa,123,

Шаг 2. Выполнение уязвимой программы

Выполните следующую команду:

root@kitploit:~
./glue_generator ./test.txt whatever.cpp

Программа разберет содержимое и выведет извлеченные значения на консоль.

Шаг 3. Произвольное чтение файла

Если злоумышленник может изменить или контролировать критически важный файл (например, /etc/passwd), чтобы включить в него данные, соответствующие требуемому формату:

root@kitploit:~
(aaaaaaaa,123,

уязвимая программа разберет и выведет соответствующее содержимое из файла.

Для критически важных файлов любая строка, соответствующая следующему шаблону, может быть раскрыта:

root@kitploit:~
(<content1>,<content2>,

Объем утечки информации зависит от:

  • количества совпадающих строк в целевом файле,
  • структуры содержимого файла.

Корневая причина

Уязвимость вызвана:

  1. Отсутствием проверки путей к файлам, контролируемых пользователем.

  2. Небезопасной логикой разбора, применяемой к произвольным файлам.

  3. Прямым выводом разобранного содержимого на консоль без проверок авторизации.

  4. Отсутствием ограничений на доступные расположения файлов.

Рекомендации по безопасности

Для смягчения уязвимости:

  • Ограничьте входные файлы доверенными каталогами.
  • Проверяйте и очищайте все пути к файлам, предоставленные пользователем.
  • Предотвращайте доступ к системным критически важным файлам.
  • Внедрите строгую проверку формата файла перед разбором.
  • Применяйте принцип минимальных привилегий к запущенному процессу.
  • Избегайте прямого вывода разобранных конфиденциальных данных в стандартный вывод.
Скачать инструмент