CVE-2026-28207

Zen C is a systems programming language that compiles to human-readable GNU C/C11. Prior to version 0.4.2, a command injection vulnerability (CWE-78) in the Zen C compiler allows local attackers to execute arbitrary shell commands by providing a specially crafted output filename via the `-o` command-line argument. The vulnerability existed in the `main` application logic (specifically in `src/main.c`), where the compiler constructed a shell command string to invoke the backend C compiler. This command string was built by concatenating various arguments, including the user-controlled output filename, and was subsequently executed using the `system()` function. Because `system()` invokes a shell to parse and execute the command, shell metacharacters within the output filename were interpreted by the shell, leading to arbitrary command execution. An attacker who can influence the command-line arguments passed to the `zc` compiler (like through a build script or a CI/CD pipeline configuration) can execute arbitrary commands with the privileges of the user running the compiler. The vulnerability has been fixed in version 0.4.2 by removing `system()` calls, implementing `ArgList`, and internal argument handling. Users are advised to update to Zen C version v0.4.2 or later.
Configurations

Configuration 1 (hide)

cpe:2.3:a:z-libs:zen_c:*:*:*:*:*:*:*:*

History

03 Mar 2026, 00:48

Type Values Removed Values Added
References () https://github.com/z-libs/Zen-C/security/advisories/GHSA-9rff-x96h-76h2 - () https://github.com/z-libs/Zen-C/security/advisories/GHSA-9rff-x96h-76h2 - Exploit, Mitigation, Vendor Advisory
References () https://f0nduesav0yarde.github.io/blog/vulnerabilities/cve-2026-28207/ - () https://f0nduesav0yarde.github.io/blog/vulnerabilities/cve-2026-28207/ - Exploit, Third Party Advisory
CPE cpe:2.3:a:z-libs:zen_c:*:*:*:*:*:*:*:*
First Time Z-libs
Z-libs zen C

02 Mar 2026, 21:16

Type Values Removed Values Added
References () https://github.com/z-libs/Zen-C/security/advisories/GHSA-9rff-x96h-76h2 - () https://github.com/z-libs/Zen-C/security/advisories/GHSA-9rff-x96h-76h2 -

27 Feb 2026, 17:16

Type Values Removed Values Added
References
  • () https://f0nduesav0yarde.github.io/blog/vulnerabilities/cve-2026-28207/ -

27 Feb 2026, 14:06

Type Values Removed Values Added
Summary
  • (es) Zen C es un lenguaje de programación de sistemas que compila a GNU C/C11 legible por humanos. Antes de la versión 0.4.2, una vulnerabilidad de inyección de comandos (CWE-78) en el compilador Zen C permite a atacantes locales ejecutar comandos de shell arbitrarios proporcionando un nombre de archivo de salida especialmente diseñado a través del argumento de línea de comandos '-o'. La vulnerabilidad existía en la lógica de la aplicación 'main' (específicamente en 'src/main.c'), donde el compilador construía una cadena de comandos de shell para invocar al compilador C de backend. Esta cadena de comandos se construía concatenando varios argumentos, incluyendo el nombre de archivo de salida controlado por el usuario, y posteriormente se ejecutaba usando la función 'system()'. Debido a que 'system()' invoca un shell para analizar y ejecutar el comando, los metacaracteres de shell dentro del nombre de archivo de salida eran interpretados por el shell, lo que llevaba a la ejecución arbitraria de comandos. Un atacante que puede influir en los argumentos de línea de comandos pasados al compilador 'zc' (como a través de un script de compilación o una configuración de pipeline de CI/CD) puede ejecutar comandos arbitrarios con los privilegios del usuario que ejecuta el compilador. La vulnerabilidad ha sido corregida en la versión 0.4.2 eliminando las llamadas a 'system()', implementando 'ArgList' y el manejo interno de argumentos. Se aconseja a los usuarios actualizar a la versión v0.4.2 de Zen C o posterior.

26 Feb 2026, 23:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-02-26 23:16

Updated : 2026-03-03 00:48


NVD link : CVE-2026-28207

Mitre link : CVE-2026-28207

CVE.ORG link : CVE-2026-28207


JSON object : View

Products Affected

z-libs

  • zen_c
CWE
CWE-78

Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')