IPFire
CVE-2025-34311
HIGH
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Network-reachable WebGUI, low complexity, requires a low-privilege authenticated session (PR:L), no interaction; command execution as 'nobody' gives high C/I/A with scope unchanged (no privilege escalation).
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
2DescriptionCVE.org
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.
AnalysisAI
Authenticated command injection in the IPFire firewall distribution prior to 2.29 (Core Update 198) lets a low-privilege WebGUI user run arbitrary shell commands as the 'nobody' service account. When a Proxy (Calamaris) report is generated, the GUI POSTs to /cgi-bin/logs.cgi/calamaris.dat and passes fields such as DAY_BEGIN, MONTH_BEGIN, YEAR_BEGIN, NUM_DOMAINS and BYTE_UNIT straight into the mkreport helper without sanitization, so shell metacharacters in any of those fields are executed server-side. The issue is remotely reachable but requires valid GUI credentials and access to the firewall's management interface; there is no public exploit identified at time of analysis and no CISA KEV listing, though the assessed CVSS:3.1 vector of AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H and the reported CVSS 8.7 reflect high confidentiality, integrity and availability impact within the compromised 'nobody' context.
Technical ContextAI
IPFire is a Linux-based firewall/router distribution whose administration is performed through a CGI-based Web GUI. The Calamaris proxy-report feature builds a report by invoking the mkreport helper through a shell; each report parameter submitted by the browser is concatenated into that command line. Because none of the parameters (DAY_BEGIN, MONTH_BEGIN, YEAR_BEGIN, DAY_END, MONTH_END, YEAR_END, NUM_DOMAINS, PERF_INTERVAL, NUM_CONTENT, HIST_LEVEL, NUM_HOSTS, NUM_URLS, BYTE_UNIT) are validated or escaped, the flaw is a classic CWE-78 OS command injection: shell metacharacters such as semicolons, backticks or command substitution sequences let the caller break out of the intended argument and append their own commands. CPE data confirms the affected component set across the IPFire 2.x line, listing generic IPFire ranges plus 2.29 builds core_update183 through core_update191, i.e. every Core Update shipped before the Core Update 198 fix. The injected commands run with the privileges of the 'nobody' account used by the report subsystem, which is unprivileged but still gives full read access to files that user can see and the ability to execute arbitrary binaries, potentially enabling lateral movement or persistence on the firewall host.
RemediationAI
Upgrade to IPFire 2.29 Core Update 198 or later, which is the vendor-released patch that fixes the unsanitized parameter interpolation in mkreport (see https://www.ipfire.org/blog/ipfire-2-29-core-update-198-released and upstream Bugzilla 13886). Where an immediate upgrade is not possible, restrict access to the WebGUI so that only fully trusted administrators on the internal management network can reach /cgi-bin/logs.cgi/calamaris.dat, since exploitation requires a valid GUI session and network reachability to the management interface; note that any account with report privileges remains a viable injection source, so this only reduces the attack surface rather than eliminating it. Additionally, avoid granting Proxy/report permissions to non-administrative accounts and audit GUI users for unnecessary privileges, though this is a compensating control with the trade-off of reduced operational flexibility and no protection against a compromised legitimate admin account. Because code execution is bounded to the 'nobody' user with no built-in privilege escalation, hardening that account and monitoring for unexpected child processes spawned by the CGI layer can help detect post-exploitation activity until the patch is applied.
IPFire 2.19 has a Remote Command Injection vulnerability in ids.cgi via the OINKCODE parameter, which is mishandled by a
lfs/backup in IPFire 2.25-core155 does not ensure that /var/ipfire/backup/bin/backup.pl is owned by the root account. Ra
An authenticated command injection vulnerability exists in IPFire Firewall before 2.21 Core Update 124 in backup.cgi. Ra
IPFire 2.21 Core Update 127 contains multiple stored cross-site scripting vulnerabilities in the extrahd.cgi script that
IPFire 2.21 Core Update 127 contains multiple cross-site scripting vulnerabilities in the ovpnmain.cgi script that allow
IPFire 2.21 Core Update 127 contains multiple reflected cross-site scripting vulnerabilities in the hosts.cgi script tha
IPFire 2.21 Core Update 127 contains a reflected cross-site scripting vulnerability in the updatexlrator.cgi script that
IPFire 2.21 Core Update 127 contains multiple reflected cross-site scripting vulnerabilities in the fwhosts.cgi script t
Command injection in the IPFire URL filter allows an authenticated administrator to execute arbitrary shell commands as
Stored cross-site scripting in the IPFire firewall distribution (versions before 2.29 Core Update 198) lets an authentic
Stored cross-site scripting in IPFire (all releases prior to 2.29 Core Update 198) allows an authenticated user with acc
Multiple stored cross-site scripting vulnerabilities in the web user interface of IPFire versions prior to 2.27 allows a
Same weakness CWE-78 – OS Command Injection
View allSame technique Command Injection
View allShare
External POC / Exploit Code
Leaving vuln.today