Zen-C Vulnerable to Command Injection via Malicious Output Filename
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| z-libs | Zen-C | affected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Z-libs | Zen-c |
|
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: 1.1% (1.080% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Zenc-lang
Zenc-lang zen C |
|
| CPEs | 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
|
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
| 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
|