CVE-2026-28207

Zen-C Vulnerable to Command Injection via Malicious Output Filename

Published Feb 26, 2026 CVSS 3.1 · 6.6 Medium EPSS 1.1% KEV · Not listed
Description
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Zenc-lang
Zenc-lang zen C
CPEs cpe:2.3:a:z-libs:zen_c:*:*:*:*:*:*:*:* cpe:2.3:a:zenc-lang:zen_c:*:*:*:*:*:*:*:*
Vendors & Products Z-libs zen C
Zenc-lang
Zenc-lang zen C
Type Values Removed Values Added
First Time appeared Z-libs zen C
CPEs cpe:2.3:a:z-libs:zen_c:*:*:*:*:*:*:*:*
Vendors & Products Z-libs zen C
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Z-libs
Z-libs zen-c
Vendors & Products Z-libs
Z-libs zen-c
Type Values Removed Values Added
Description 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.
Title Zen-C Vulnerable to Command Injection via Malicious Output Filename
Weaknesses CWE-78
References
Metrics cvssV3_1

{'score': 6.6, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:L'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Mar 2, 2026, 8:48 PM
Reserved
Feb 25, 2026, 3:28 PM
Status
Analyzed
Published
Feb 26, 2026, 11:16 PM
Modified
Jun 17, 2026, 10:28 AM