CVE-2022-45145
Critical · 9.8CVSS
9.8
EPSS
1.4%
Published
Dec 10, 2022
CISA due date
—
Cloudanix analysis
A flaw in the CHICKEN programming language tools lets attackers run their own commands on a computer when someone installs a specially crafted add-on package.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Command Injection
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability permits arbitrary operating system command execution by injecting escape characters into .egg package metadata that are processed unsafely by egg-compile.scm during installation.
Why it matters to the business
Attackers can run malicious commands on developer or build systems when packages are installed, potentially leading to full system compromise, supply-chain poisoning, and loss of intellectual property or credentials.
How an attack unfolds
An attacker crafts a malicious .egg file containing shell metacharacters in fields processed by egg-compile.scm. When a victim runs the package manager to install the package, the untrusted input is passed directly to the operating system shell, resulting in command execution.
How to fix it
Upgrade CHICKEN to version 5.3.1 or later. Avoid installing packages from untrusted sources until the update is applied. Rebuild and reinstall any locally cached eggs after upgrading.
How to confirm the fix worked
Confirm CHICKEN version is 5.3.1 or newer via 'chicken-version'. Test installation of a known-good .egg file and verify no unexpected processes or network activity occur. Review package installation logs for any shell command artifacts.
Typical attack path
- Attacker publishes or hosts a malicious .egg package containing escape sequences in metadata
- Victim executes chicken-install or equivalent package installation command against the malicious package
- egg-compile.scm processes the package without sanitizing input and spawns a shell with attacker-controlled arguments
- Arbitrary OS commands execute with the privileges of the installing user
How to detect it
Inspect package installation logs and shell history for unexpected commands or unusual .egg file names. Look for child processes spawned by chicken-install or csc during package operations. Correlate timestamps of package installs with anomalous system activity.
What your security team should do
- Immediately upgrade all CHICKEN 5.x installations to 5.3.1 or later
- Restrict package installation to verified internal or official repositories
- Monitor build and developer workstations for unexpected command execution during package installs
- Add CHICKEN package verification steps to CI/CD pipelines
The record
egg-compile.scm in CHICKEN 5.x before 5.3.1 allows arbitrary OS command execution during package installation via escape characters in a .egg file.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Ubuntu:16.04:LTS | chicken | 0 | No fix |
| Ubuntu:18.04:LTS | chicken | 0 | No fix |
| Ubuntu:20.04:LTS | chicken | 0 | No fix |
| Ubuntu:22.04:LTS | chicken | 0 | No fix |
| Ubuntu:24.04:LTS | chicken | 0 | No fix |
| Ubuntu:24.10 | chicken | 0 | No fix |
| Ubuntu:25.04 | chicken | 0 | No fix |
| Ubuntu:25.10 | chicken | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | chicken | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | chicken | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | chicken | 0 | No fix |
Related vulnerabilities
- CVE-2026-96376 Improper Neutralization of Special Elements used in an OS Command ("OS Command… CWE-78
- CVE-2026-113732 virtualenv is a tool for creating isolated virtual python environments. CWE-78
- CVE-2026-113776 virtualenv is a tool for creating isolated virtual python environments. CWE-78
- CVE-2026-113726 virtualenv is a tool for creating isolated virtual python environments. CWE-78
- CVE-2026-113725 virtualenv is a tool for creating isolated virtual python environments. CWE-78
- CVE-2026-113722 virtualenv is a tool for creating isolated virtual python environments. CWE-78
- CVE-2026-112943 launch-editor allows users to open files with line numbers in editor from Node.js. CWE-78
- CVE-2026-112900 Pillow is a Python imaging library. CWE-78