CVE-2025-34305

IPFire < v2.29 Stored XSS via Multiple Methods in cleanhtml()

Published Oct 28, 2025 CVSS 4.0 · 5.1 Medium EPSS < 1% KEV · Not listed
Description
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
CPEs cpe:2.3:a:ipfire:ipfire:*:*:*:*:*:*:*:*
cpe:2.3:a:ipfire:ipfire:2.29:core_update183:*:*:*:*:*:*
cpe:2.3:a:ipfire:ipfire:2.29:core_update184:*:*:*:*:*:*
cpe:2.3:a:ipfire:ipfire:2.29:core_update185:*:*:*:*:*:*
cpe:2.3:a:ipfire:ipfire:2.29:core_update186:*:*:*:*:*:*
cpe:2.3:a:ipfire:ipfire:2.29:core_update187:*:*:*:*:*:*
cpe:2.3:a:ipfire:ipfire:2.29:core_update188:*:*:*:*:*:*
cpe:2.3:a:ipfire:ipfire:2.29:core_update189:*:*:*:*:*:*
cpe:2.3:a:ipfire:ipfire:2.29:core_update190:*:*:*:*:*:*
cpe:2.3:a:ipfire:ipfire:2.29:core_update191:*:*:*:*:*:*
cpe:2.3:a:ipfire:ipfire:2.29:core_update192:*:*:*:*:*:*
cpe:2.3:a:ipfire:ipfire:2.29:core_update193:*:*:*:*:*:*
cpe:2.3:a:ipfire:ipfire:2.29:core_update194:*:*:*:*:*:*
cpe:2.3:a:ipfire:ipfire:2.29:core_update195:*:*:*:*:*:*
cpe:2.3:a:ipfire:ipfire:2.29:core_update196:*:*:*:*:*:*
cpe:2.3:a:ipfire:ipfire:2.29:core_update197:*:*:*:*:*:*
Metrics cvssV3_1

{'score': 5.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N'}

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Ipfire
Ipfire ipfire
Vendors & Products Ipfire
Ipfire ipfire
Type Values Removed Values Added
Description 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.
Title IPFire < v2.29 Stored XSS via Multiple Methods in cleanhtml()
Weaknesses CWE-79
References
Metrics cvssV4_0

{'score': 5.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
Oct 29, 2025, 6:09 PM
Reserved
Apr 15, 2025, 7:15 PM
Status
Analyzed
Published
Oct 28, 2025, 3:16 PM
Modified
Oct 19, 2026, 1:10 PM