CVE-2025-34310

5.4 MEDIUM

📋 TL;DR

This stored XSS vulnerability in IPFire allows authenticated attackers to inject malicious JavaScript into Quality of Service settings. When other users view the compromised QoS entries, the scripts execute in their browser context. This affects all IPFire installations running versions before 2.29 Core Update 198.

💻 Affected Systems

Products:
  • IPFire
Versions: All versions prior to 2.29 (Core Update 198)
Operating Systems: IPFire Linux distribution
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated access to the web interface. QoS functionality must be enabled, but this is common in firewall deployments.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An authenticated attacker could steal administrator session cookies, perform actions as other users, or redirect users to malicious sites, potentially leading to full system compromise.

🟠

Likely Case

Attackers with authenticated access could hijack sessions of other users viewing QoS settings, potentially gaining elevated privileges or performing unauthorized configuration changes.

🟢

If Mitigated

With proper input validation and output encoding, the malicious scripts would be rendered harmless as text rather than executable code.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires authenticated access to the web interface. The vulnerability is in the QoS configuration page accessible to users with appropriate permissions.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: IPFire 2.29 Core Update 198

Vendor Advisory: https://www.ipfire.org/blog/ipfire-2-29-core-update-198-released

Restart Required: No

Instructions:

1. Log into IPFire web interface as admin. 2. Navigate to System > Updates. 3. Apply Core Update 198. 4. Verify update completes successfully.

🔧 Temporary Workarounds

Disable QoS functionality

all

Temporarily disable Quality of Service feature to prevent exploitation until patching

Navigate to Firewall > QoS and disable all QoS rules

Restrict web interface access

all

Limit access to IPFire web interface to trusted IP addresses only

Configure firewall rules to restrict access to port 444 (HTTPS) and 4443 (HTTP)

🧯 If You Can't Patch

  • Implement strict input validation for INC_SPD, OUT_SPD, DEFCLASS_INC, and DEFCLASS_OUT parameters
  • Apply output encoding when displaying QoS configuration values in the web interface

🔍 How to Verify

Check if Vulnerable:

Check IPFire version via web interface (System > About) or command line: 'cat /etc/ipfire-release'

Check Version:

cat /etc/ipfire-release

Verify Fix Applied:

Verify version is 2.29 Core Update 198 or later. Test QoS configuration page for proper input sanitization.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /cgi-bin/qos.cgi with JavaScript payloads in parameters
  • Multiple failed authentication attempts followed by QoS configuration changes

Network Indicators:

  • HTTP POST requests to QoS endpoint containing script tags or JavaScript code in parameter values

SIEM Query:

source="ipfire_web" AND uri="/cgi-bin/qos.cgi" AND (method="POST") AND (param="INC_SPD" OR param="OUT_SPD" OR param="DEFCLASS_INC" OR param="DEFCLASS_OUT") AND (value CONTAINS "<script>" OR value CONTAINS "javascript:")

🔗 References

📤 Share & Export