CVE-2025-34305

MEDIUM

IPFire < 2.29 - Authenticated Stored Cross-Site Scripting via cleanhtml() Function

Title source: llm
STIX 2.1

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.

References (3)

Core 3
Core References
Issue Tracking, Third Party Advisory issue-tracking
https://bugzilla.ipfire.org/show_bug.cgi?id=13880

Scores

CVSS v3 5.4
EPSS 0.0045
EPSS Percentile 36.2%
Attack Vector NETWORK
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N

CISA SSVC

Vulnrichment
Exploitation none
Automatable no
Technical Impact partial

Details

CWE
CWE-79
Status published
Products (2)
ipfire/ipfire 2.29 core_update183 (15 CPE variants)
ipfire/ipfire < 2.29
Published Oct 28, 2025
Tracked Since Feb 18, 2026