From 0e34bade9cc2fa831f9c8a344b2ebfdf4047848c Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Mon, 27 Oct 2014 08:53:37 -0400
Subject: [PATCH] Fixed: FS#3718 - SQL injection checker false positive alert in APS installer
---
interface/lib/classes/functions.inc.php | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/interface/lib/classes/functions.inc.php b/interface/lib/classes/functions.inc.php
index ddee8da..8fed767 100644
--- a/interface/lib/classes/functions.inc.php
+++ b/interface/lib/classes/functions.inc.php
@@ -248,7 +248,7 @@
}
$ips = array();
- $results = $app->db->queryAllRecords("SELECT ip_address AS ip, server_id FROM server_ip WHERE ip_type = '".$type."'");
+ $results = $app->db->queryAllRecords("SELECT ip_address AS ip, server_id FROM server_ip WHERE ip_type = '".$app->db->quote($type)."'");
if(!empty($results) && is_array($results)){
foreach($results as $result){
if(preg_match($regex, $result['ip'])){
@@ -427,7 +427,11 @@
public function is_allowed_user($username, $restrict_names = false) {
global $app;
- if($username == 'root') return false;
+ $name_blacklist = array('root','ispconfig','vmail','getmail');
+ if(in_array($username,$name_blacklist)) return false;
+
+ if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $username) == false) return false;
+
if($restrict_names == true && preg_match('/^web\d+$/', $username) == false) return false;
return true;
@@ -436,7 +440,11 @@
public function is_allowed_group($groupname, $restrict_names = false) {
global $app;
- if($groupname == 'root') return false;
+ $name_blacklist = array('root','ispconfig','vmail','getmail');
+ if(in_array($groupname,$name_blacklist)) return false;
+
+ if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $groupname) == false) return false;
+
if($restrict_names == true && preg_match('/^client\d+$/', $groupname) == false) return false;
return true;
--
Gitblit v1.9.1