Что общего у Windows-версий Ghostscript, Apache, PHP, GnuPG, wget и Microsoft Coreutils?
В этой статье рассматривается серия недавно обнаруженных уязвимостей перехвата файлов в широко используемом программном обеспечении. Я разбираю первопричины: разрешения ОС по умолчанию для популярных мест в файловой системе, плохо перенесенный с других платформ код, не оправдавшиеся предположения, небезопасные или отсутствующие инсталляторы, а также различные проблемы конструирования путей, такие как сбои раскрытия переменных окружения или несоответствия между API.
Я также задаюсь вопросом, почему эти проблемы ускользают от статического анализа исходного кода, рассматривая практические различия между исходным кодом, скомпилированным исполняемым файлом и запущенным процессом, а также то, как тестирование во время выполнения помогает восполнить этот пробел. И все это в истории, которая началась с простого дополнительного расследования.
Прочитайте полное исследование здесь.
Содержание
1. Введение 3
2. Практические примеры 3
2.1. Ghostscript (CVE-2026-19547) 3
2.2. Apache HTTP Server (CVE-2026-89281) 4
2.3. include_path по умолчанию в PHP. 6
2.4. GnuPG. 12
2.5. wget (CVE-2026-94574) 12
2.6. Microsoft Core Utils tail.exe. 14
2.7. Нераскрытый программный продукт №1. 16
2.8. Нераскрытый программный продукт №2. 17
3. Анализ причин и возможности эксплуатации 18
3.1. Первопричина возможности эксплуатации. 18
3.1.1. Корневой каталог C:\. 18
3.1.2. C:\ProgramData. 18
3.1.3. C:\Windows\TEMP. 19
3.2. Первопричина возникновения №1 — пути Unix, перенесенные в Windows. 19
3.3. Первопричина возникновения №2 — пути по умолчанию. 20
3.4. Первопричина возникновения №3 — небезопасные инсталляторы. 21
3.5. Первопричина возникновения №4 — сбои конструирования путей. 21
4. Исходный код != бинарный файл, бинарный файл != процесс 22
5. Заключение. 23









