Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Authenicated Stored XSS in IPFire 2.21
CVE-2020-19202
=======================================================================
* Authenicated Stored XSS in Captive.cgi
* Affected Product: IPFire 2.21 (x86_64) - Core Update 130
* Vendor: IPFire
* Vulnerability Class: Stored Cross-Site Scripting
* Status: Fixed
* Author: Dharmesh Baskaran
=======================================================================
=== SUMMARY ===
An authenticated Stored XSS (Cross-site Scripting) exists in the "captive.cgi" Captive Portal via the "Title of Login Page" text box or "TITLE" parameter. It allows an authenticated WebGUI user with privileges for the affected page to execute Stored Cross-site Scripting in the Captive Portal page.
=== TECHNICAL DESCRIPTION ===
An authenticated Stored XSS (Cross-site Scripting) exists in the (https://localhost:444/cgi-bin/captive.cgi) Captive Portal via the "Title of Login Page" text box or "TITLE" parameter. This is due to a lack of user input validation in "Title of Login Page" text box or "TITLE" parameter. It allows an authenticated WebGUI user with privileges for the affected page to execute Stored Cross-site Scripting in the Captive Portal page (/cgi-bin/captive.cgi). The Stored XSS get prompted on the victims page whenever victim tries to access the Captive Portal page.
=== REMEDIATION ===
They removed $settings{'TITLE'} = $cgiparams{'TITLE'};
They added $settings{'TITLE'} = &Header::escape($cgiparams{'TITLE'});
=== DISCLOSURE TIMELINE ===
2019-05-07: Vulnerability disclosed via email to IPFire Team
2019-05-07: Acknowlegement from IPFire Team
2019-05-09: Fixed in IPFire 2.23 - Core Update 132: https://git.ipfire.org/?p=ipfire-2.x.git;a=commitdiff;h=462bc3d1595df12dd16a5d93f86a48e5bf33178b
=======================================================================
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment