Атака на системы online-компиляции через манипуляцию с заголовочными файлами

17 декабря 2019 года

Hanno Böck, автор проекта fuzzing-project.org, обратил внимание на уязвимость интерфейсов интерактивной компиляции, допускающих обработку внешнего кода на языке Си. При указании произвольного пути в директиве "#include" ошибка компиляции включает содержимое файла, который не удалось скомпилировать.

Например, подставив в одном из online-сервисов в код "#include </etc/shadow>" на выходе удалось получить хэш пароля пользователя root из файла /etc/shadow, что также свидетельствует о том, что web-сервис выполняется с правами root и запускает команды компиляции под пользователем root (не исключено, что при компиляции использовался изолированный контейнер, но запуск с правами root в контейнере также является проблемой). Проблемный сервис, в котором удалось воспроизвести проблему, пока не афишируется. Попытки открытия файлов в псевдо ФС /proc не увенчались успехом так как GCC воспринимает их как пустые файлы, но открытие файлов из /sys работает.

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Атака на системы online-компиляции через манипуляцию с заголовочными файлами», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.