Description
IPFire versions prior to 2.29 (Core Update 198) contain a command injection vulnerability that allows an authenticated attacker to execute arbitrary commands as the user 'nobody' via multiple parameters when creating a Proxy report. When a user creates a Proxy report the application issues an HTTP POST to /cgi-bin/logs.cgi/calamaris.dat and reads the values of DAY_BEGIN, MONTH_BEGIN, YEAR_BEGIN, DAY_END, MONTH_END, YEAR_END, NUM_DOMAINS, PERF_INTERVAL, NUM_CONTENT, HIST_LEVEL, NUM_HOSTS, NUM_URLS, and BYTE_UNIT, which are interpolated directly into the shell invocation of the mkreport helper. Because these parameters are never sanitized for improper characters or constructs, a crafted POST can inject shell metacharacters into one or more fields, causing arbitrary commands to run with the privileges of the 'nobody' user.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| IPFire.org | IPFire | < 2.29 (Core Update 198) | 2.29 (Core Update 198) |
References
- https://www.ipfire.org/blog/ipfire-2-29-core-update-198-released vendor-advisory patch
- https://bugzilla.ipfire.org/show_bug.cgi?id=13886 issue-tracking
- https://www.vulncheck.com/advisories/ipfire-command-injection-via-proxy-report-creation third-party-advisory