Skip to content

Commit a324af7

Browse files
author
Marius Burkard
committed
- fixed further (potential) XSS issues in forms
1 parent 9979311 commit a324af7

31 files changed

+96
-95
lines changed

interface/web/admin/firewall_edit.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ function onShowEnd() {
5757
if($this->id ==0) { //* new record
5858
$server_list = $app->db->queryAllRecords("SELECT server_id, server_name FROM server WHERE server_id NOT IN (SELECT server_id FROM firewall) ORDER BY server_name");
5959
if(is_array($server_list)) {
60-
foreach( $server_list as $server) $server_select .= "<option value='$server[server_id]' >$server[server_name]</option>\r\n";
60+
foreach( $server_list as $server) $server_select .= "<option value='$server[server_id]' >" . $app->functions->htmlentities($server['server_name']) . "</option>\r\n";
6161
}
6262
$app->tpl->setVar('server_id', $server_select);
6363
}

interface/web/admin/server_edit.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ function onShowEnd() {
6161
if(is_array($mirror_servers)) {
6262
foreach( $mirror_servers as $mirror_server) {
6363
$selected = ($mirror_server["server_id"] == $this->dataRecord['mirror_server_id'])?'SELECTED':'';
64-
$mirror_server_select .= "<option value='$mirror_server[server_id]' $selected>$mirror_server[server_name]</option>\r\n";
64+
$mirror_server_select .= "<option value='$mirror_server[server_id]' $selected>" . $app->functions->htmlentities($mirror_server['server_name']) . "</option>\r\n";
6565
}
6666
}
6767
$app->tpl->setVar("mirror_server_id", $mirror_server_select);

interface/web/admin/server_ip_map_edit.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ function onShowEnd() {
5252
if(is_array($servers)) {
5353
foreach($servers as $server) {
5454
$selected = ($server['server_id'] == $this->dataRecord['server_id'])?'SELECTED':'';
55-
$server_select .= "<option value='$server[server_id]' $selected>$server[server_name]</option>\r\n";
55+
$server_select .= "<option value='$server[server_id]' $selected>" . $app->functions->htmlentities($server['server_name']) . "</option>\r\n";
5656
}
5757
}
5858
unset($servers);
@@ -65,7 +65,7 @@ function onShowEnd() {
6565
if(is_array($ips)) {
6666
foreach( $ips as $ip) {
6767
$selected = ($ip['ip_address'] == $this->dataRecord['source_ip'])?'SELECTED':'';
68-
$ip_select .= "<option value='$ip[ip_address]' $selected>$ip[source]</option>\r\n";
68+
$ip_select .= "<option value='" . $app->functions->htmlentities($ip['ip_address']) . "' $selected>" . $app->functions->htmlentities($ip['source']) . "</option>\r\n";
6969
}
7070
}
7171
unset($ips);

interface/web/client/message_template_edit.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ function onShowEnd() {
8080
if($field_name['Field'] == 'gender'){
8181
$message_variables .= '<a href="javascript:void(0);" class="addPlaceholder">{salutation}</a> ';
8282
} else {
83-
$message_variables .= '<a href="javascript:void(0);" class="addPlaceholder">{'.$field_name['Field'].'}</a> ';
83+
$message_variables .= '<a href="javascript:void(0);" class="addPlaceholder">{'.$app->functions->htmlentities($field_name['Field']).'}</a> ';
8484
}
8585
}
8686
}

interface/web/dns/dns_dkim_edit.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,16 +76,16 @@ function onShowNew() {
7676
if(isset($sql['domain']) && $sql['domain'] != '') {
7777
if($sql['dkim'] == 'y') {
7878
$public_key=str_replace(array('-----BEGIN PUBLIC KEY-----','-----END PUBLIC KEY-----',"\r","\n"),'',$sql['dkim_public']);
79-
$app->tpl->setVar('public_key', $public_key);
80-
$app->tpl->setVar('selector', $sql['dkim_selector']);
79+
$app->tpl->setVar('public_key', $public_key, true);
80+
$app->tpl->setVar('selector', $sql['dkim_selector'], true);
8181
} else {
8282
//TODO: show warning - use mail_domain for dkim and enabled dkim
8383
}
8484
$app->tpl->setVar('edit_disabled', 1);
8585
} else {
8686
$app->tpl->setVar('edit_disabled', 0);
8787
}
88-
$app->tpl->setVar('name', $soa['origin']);
88+
$app->tpl->setVar('name', $soa['origin'], true);
8989

9090
}
9191

interface/web/dns/dns_dmarc_edit.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ function onShowEnd() {
9393
if ( isset($rec) && !empty($rec) ) {
9494
$this->id = 1;
9595
$old_data = strtolower($rec['data']);
96-
$app->tpl->setVar("data", $old_data);
96+
$app->tpl->setVar("data", $old_data, true);
9797
if ($rec['active'] == 'Y') $app->tpl->setVar("active", "CHECKED"); else $app->tpl->setVar("active", "UNCHECKED");
9898
$dmarc_rua = '';
9999
$dmarc_ruf = '';
@@ -123,7 +123,7 @@ function onShowEnd() {
123123
}
124124

125125
//set html-values
126-
$app->tpl->setVar('domain', $domain_name);
126+
$app->tpl->setVar('domain', $domain_name, true);
127127

128128
//create dmarc-policy-list
129129
$dmarc_policy_value = array(
@@ -138,9 +138,9 @@ function onShowEnd() {
138138
}
139139
$app->tpl->setVar('dmarc_policy', $dmarc_policy_list);
140140

141-
if (!empty($dmarc_rua)) $app->tpl->setVar("dmarc_rua", $dmarc_rua);
141+
if (!empty($dmarc_rua)) $app->tpl->setVar("dmarc_rua", $dmarc_rua, true);
142142

143-
if (!empty($dmarc_ruf)) $app->tpl->setVar("dmarc_ruf", $dmarc_ruf);
143+
if (!empty($dmarc_ruf)) $app->tpl->setVar("dmarc_ruf", $dmarc_ruf, true);
144144

145145
//set dmarc-fo-options
146146
if (isset($dmarc_fo)) {
@@ -178,9 +178,9 @@ function onShowEnd() {
178178
if ( strpos($dmarc_rf, 'afrf') !== false ) $app->tpl->setVar("dmarc_rf_afrf", 'CHECKED');
179179
if ( strpos($dmarc_rf, 'iodef') !== false ) $app->tpl->setVar("dmarc_rf_iodef", 'CHECKED');
180180

181-
$app->tpl->setVar("dmarc_pct", $dmarc_pct);
181+
$app->tpl->setVar("dmarc_pct", $dmarc_pct, true);
182182

183-
$app->tpl->setVar("dmarc_ri", $dmarc_ri);
183+
$app->tpl->setVar("dmarc_ri", $dmarc_ri, true);
184184

185185
//create dmarc-sp-list
186186
$dmarc_sp_value = array(

interface/web/dns/dns_slave_edit.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ function onShowEnd() {
132132
if ($domain['domain'].'.' == $this->dataRecord["origin"]) {
133133
$domain_select .= " selected";
134134
}
135-
$domain_select .= ">" . $app->functions->idn_decode($domain['domain']) . ".</option>\r\n";
135+
$domain_select .= ">" . $app->functions->htmlentities($app->functions->idn_decode($domain['domain'])) . ".</option>\r\n";
136136
}
137137
}
138138
else {

interface/web/dns/dns_soa_edit.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ function onShowEnd() {
179179
$options_dns_servers = "";
180180

181181
foreach ($dns_servers as $dns_server) {
182-
$options_dns_servers .= '<option value="'.$dns_server['server_id'].'"'.($this->id > 0 && $this->dataRecord["server_id"] == $dns_server['server_id'] ? ' selected="selected"' : '').'>'.$dns_server['server_name'].'</option>';
182+
$options_dns_servers .= '<option value="'.$dns_server['server_id'].'"'.($this->id > 0 && $this->dataRecord["server_id"] == $dns_server['server_id'] ? ' selected="selected"' : '').'>'.$app->functions->htmlentities($dns_server['server_name']).'</option>';
183183
}
184184

185185
$app->tpl->setVar("client_server_id", $options_dns_servers);
@@ -200,7 +200,7 @@ function onShowEnd() {
200200
if ($domain['domain'].'.' == $this->dataRecord["origin"]) {
201201
$domain_select .= " selected";
202202
}
203-
$domain_select .= ">" . $app->functions->idn_decode($domain['domain']) . ".</option>\r\n";
203+
$domain_select .= ">" . $app->functions->htmlentities($app->functions->idn_decode($domain['domain'])) . ".</option>\r\n";
204204
}
205205
}
206206
else {
@@ -222,7 +222,7 @@ function onShowEnd() {
222222
$datalog = $app->db->queryOneRecord("SELECT sys_datalog.error, sys_log.tstamp FROM sys_datalog, sys_log WHERE sys_datalog.dbtable = 'dns_soa' AND sys_datalog.dbidx = ? AND sys_datalog.datalog_id = sys_log.datalog_id AND sys_log.message = CONCAT('Processed datalog_id ',sys_log.datalog_id) ORDER BY sys_datalog.tstamp DESC", 'id:' . $this->id);
223223
if(is_array($datalog) && !empty($datalog)){
224224
if(trim($datalog['error']) != ''){
225-
$app->tpl->setVar("config_error_msg", nl2br(htmlentities($datalog['error'])));
225+
$app->tpl->setVar("config_error_msg", nl2br($app->functions->htmlentities($datalog['error'])));
226226
$app->tpl->setVar("config_error_tstamp", date($app->lng('conf_format_datetime'), $datalog['tstamp']));
227227
}
228228
}

interface/web/dns/dns_spf_edit.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ function onShowEnd() {
8383
$this->id = 1;
8484
$old_data = strtolower($rec['data']);
8585

86-
$app->tpl->setVar("data", $old_data);
86+
$app->tpl->setVar("data", $old_data, true);
8787
if ($rec['active'] == 'Y') $app->tpl->setVar("active", "CHECKED"); else $app->tpl->setVar("active", "UNCHECKED");
8888

8989
$spf_hostname = '';

interface/web/mail/mail_alias_edit.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ function onShowEnd() {
8383
foreach( $domains as $domain) {
8484
$domain['domain'] = $app->functions->idn_decode($domain['domain']);
8585
$selected = ($domain["domain"] == @$email_parts[1])?'SELECTED':'';
86-
$domain_select .= "<option value='$domain[domain]' $selected>$domain[domain]</option>\r\n";
86+
$domain_select .= "<option value='" . $app->functions->htmlentities($domain['domain']) . "' $selected>" . $app->functions->htmlentities($domain['domain']) . "</option>\r\n";
8787
}
8888
}
8989
$app->tpl->setVar("email_domain", $domain_select);

0 commit comments

Comments
 (0)