CVE-2026-28207 in Zen-C
Сводка
по VulDB • 26.05.2026
Zen C — это язык системного программирования, который компилируется в читаемый человеком код GNU C/C11. До версии 0.4.2 в компиляторе Zen C существовала уязвимость инъекции команд (CWE-78), позволявшая локальным злоумышленникам выполнять произвольные команды оболочки путем предоставления специально сформированного имени выходного файла через аргумент командной строки `-o`. Уязвимость присутствовала в основной логике приложения (в частности, в файле `src/main.c`), где компилятор формировал строку команды оболочки для вызова бэкенд-компилятора C. Эта строка команды создавалась путем конкатенации различных аргументов, включая управляемое пользователем имя выходного файла, и впоследствии выполнялась с помощью функции `system()`. Поскольку `system()` вызывает оболочку для разбора и выполнения команды, метасимволы оболочки, содержащиеся в имени выходного файла, интерпретировались оболочкой, что приводило к выполнению произвольных команд. Злоумышленник, способный влиять на аргументы командной строки, передаваемые компилятору `zc` (например, через скрипт сборки или конфигурацию конвейера CI/CD), может выполнять произвольные команды с привилегиями пользователя, запустившего компилятор. Уязвимость исправлена в версии 0.4.2 путем удаления вызовов `system()`, внедрения `ArgList` и внутренней обработки аргументов. Пользователям рекомендуется обновиться до Zen C версии v0.4.2 или более поздней.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.