CVE-2025-34305
MediumCVSS 5.4Exploitation Probability (EPSS)
Low risk40th percentile - higher than 40% of all known CVEs
Summary
IPFire versions prior to 2.29 (Core Update 198) contain multiple stored cross-site scripting (XSS) vulnerabilities caused by a bug in the cleanhtml() function (/var/ipfire/header.pl) that fails to apply HTML-entity encoding to user input. An authenticated user can submit data to affected endpoints (e.g., wakeonlan.cgi, dhcp.cgi, connscheduler.cgi, dnsforward.cgi, vpnmain.cgi, dns.cgi), and the application calls escape() and HTML::Entities::encode_entities() but never assigns the sanitized result back to the output variable. The original unsanitized value is therefore stored and later rendered in the web interface without proper sanitation or encoding.
Risk Assessment
The injected scripts may execute in the context of other users viewing the affected entries, potentially leading to session theft or unauthorized actions on behalf of the victim.
Recommendation
Update IPFire to version 2.29 (Core Update 198) or later. Until patched, restrict access to the administrative interface and validate input data.
Other vulnerabilities in IPFire
See all- CVE-2017-9757High
IPFire 2.19 has a Remote Command Injection vulnerability in ids.cgi via the OINKCODE parameter, which is mishandled by a shell. This can be exploited directly by authenticated users, or through CSRF.
- CVE-2025-34311High
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. Parameters such as 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 are interpolated directly into the shell invocation without sanitization.
- CVE-2025-34309Medium
IPFire versions prior to 2.29 (Core Update 198) contain a stored cross-site scripting (XSS) vulnerability that allows an authenticated attacker to inject arbitrary JavaScript code through the SERVICE, LOGIN, and PASSWORD parameters when creating or editing a Dynamic DNS host. The values of these parameters are stored and later rendered in the web interface without proper sanitation or encoding, allowing injected scripts to execute in the context of other users who view or edit the affected Dynamic DNS entries.
- CVE-2025-34301Medium
IPFire versions prior to 2.29 (Core Update 198) contain a stored cross-site scripting (XSS) vulnerability that allows an authenticated attacker to inject arbitrary JavaScript code into the COUNTRY_CODE parameter when creating a location group. The value of this parameter is stored and later rendered in the web interface without proper sanitization or encoding, allowing malicious scripts to be executed in the context of other users viewing the affected page.
- CVE-2025-34318Medium
IPFire versions prior to 2.29 (Core Update 198) contain a stored cross-site scripting (XSS) vulnerability that allows an authenticated attacker to inject arbitrary JavaScript code through the TLS_HOSTNAME, UPSTREAM_USER, UPSTREAM_PASSWORD, ADMIN_MAIL_ADDRESS, and ADMIN_PASSWORD parameters when adding a new DNS entry. The values are stored and later rendered in the web interface without proper sanitation or encoding.
- CVE-2025-34316Medium
IPFire versions prior to 2.29 (Core Update 198) contain a stored XSS vulnerability allowing an authenticated attacker to inject arbitrary JavaScript via the txt_mailuser and txt_mailpass parameters when updating mail server settings. Values are stored and rendered without proper encoding.
- CVE-2025-34315Medium
IPFire versions prior to 2.29 (Core Update 198) contain a stored XSS vulnerability allowing an authenticated attacker to inject arbitrary JavaScript via the REMOTELOG_ADDR parameter when updating the remote syslog server address. The value is stored and rendered without proper encoding.
- CVE-2025-34314Medium
IPFire versions prior to 2.29 (Core Update 198) contain a stored cross-site scripting (XSS) vulnerability that allows an authenticated attacker to inject arbitrary JavaScript code through the SRC, DST, and COMMENT parameters when creating a time constraint rule. The values of these parameters are stored and later rendered in the web interface without proper sanitation or encoding, allowing injected scripts to execute in the context of other users who view the affected time constraint entry.
- CVE-2025-34313Medium
IPFire versions prior to 2.29 (Core Update 198) contain a stored cross-site scripting (XSS) vulnerability that allows an authenticated attacker to inject arbitrary JavaScript code through the QUOTA_USERS parameter when creating a user quota rule. The value of this parameter is stored and later rendered in the web interface without proper sanitation or encoding, allowing injected scripts to execute in the context of other users who view the affected quota entry.
- CVE-2025-34312High
IPFire versions prior to 2.29 (Core Update 198) contain a command injection vulnerability. An authenticated attacker can execute arbitrary commands as the 'nobody' user via the BE_NAME parameter when installing a blacklist, as the value is interpolated into a shell invocation without proper sanitation.
Original NVD description (English source)
IPFire versions prior to 2.29 (Core Update 198) contain multiple stored cross-site scripting (XSS) vulnerabilities caused by a bug in the cleanhtml() function (/var/ipfire/header.pl) that fails to apply HTML-entity encoding to user input. When an authenticated user submits data to affected endpoints - for example, POST /cgi-bin/wakeonlan.cgi (CLIENT_COMMENT), /cgi-bin/dhcp.cgi (ADVOPT_DATA, FIX_REMARK, FIX_FILENAME, FIX_ROOTPATH), /cgi-bin/connscheduler.cgi (ACTION_COMMENT), /cgi-bin/dnsforward.cgi (REMARK), /cgi-bin/vpnmain.cgi (REMARK), or /cgi-bin/dns.cgi (REMARK) - the application calls escape() and HTML::Entities::encode_entities() but never assigns the sanitized result back to the output variable. The original unsanitized value is therefore stored and later rendered in the web interface without proper sanitation or encoding, allowing injected scripts to execute in the context of other users who view the affected entries.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

