From 70146230109e9d02b5bb37a0d27e684f06fbefbc Mon Sep 17 00:00:00 2001 From: Mykyta Synelnikov Date: Fri, 7 Mar 2025 01:25:05 +0200 Subject: [PATCH] Enhance SQL injection protection in regex patterns Updated regular expressions to strengthen protection against sleep and benchmark injection attacks. This change improves the security of queries by handling potential edge cases more effectively. --- includes/core/class-member-directory.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/includes/core/class-member-directory.php b/includes/core/class-member-directory.php index 46cbf63a..198ae7dc 100644 --- a/includes/core/class-member-directory.php +++ b/includes/core/class-member-directory.php @@ -1710,7 +1710,8 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) { $regexp_map = array( '/select(.*?)from/im', '/select(.*?)sleep/im', - "/sleep\(\d+\)/im", // avoid any sleep injections + "/sleep\(\s*[\"'`]?\s*\d+\s*[\"'`]?\s*\)/im", // avoid any sleep injections + "/benchmark\(\s*[\"'`]?\s*\d+\s*[\"'`]?\s*,.*\)/im", // avoid any benchmark injections '/select(.*?)database/im', '/select(.*?)where/im', '/update(.*?)set/im',