From 1590fd696369933fb869ccc160fb13c4ab816638 Mon Sep 17 00:00:00 2001 From: kunalnagar <2741371+kunalnagar@users.noreply.github.com> Date: Tue, 25 Apr 2023 00:17:11 -0400 Subject: [PATCH] chore: Fix vulns (#62) --- admin/AdminClass.php | 2 +- admin/LogsClass.php | 4 ++-- admin/views/logs.php | 2 +- admin/views/settings-general.php | 2 +- custom-404-pro.php | 2 +- readme.txt | 5 ++++- 6 files changed, 10 insertions(+), 7 deletions(-) diff --git a/admin/AdminClass.php b/admin/AdminClass.php index 391f94e..6d9f00e 100755 --- a/admin/AdminClass.php +++ b/admin/AdminClass.php @@ -181,7 +181,7 @@ private function custom_404_pro_log( $is_email ) { $referer = $_SERVER['HTTP_REFERER']; } $user_agent = $_SERVER['HTTP_USER_AGENT']; - $sql_save = 'INSERT INTO ' . $wpdb->prefix . $this->helpers->table_logs . " (ip, path, referer, user_agent) VALUES ('$ip', '$path', '$referer', '$user_agent')"; + $sql_save = $wpdb->prepare("INSERT INTO `$wpdb->prefix . $this->helpers->table_logs` ('ip', 'path', 'referer', 'user_agent') VALUES (%s, %s, %s, %s)", $ip, $path, $referer, $user_agent); $wpdb->query( $sql_save ); if ( ! empty( $is_email ) ) { self::custom_404_pro_send_mail( $ip, $path, $referer, $user_agent ); diff --git a/admin/LogsClass.php b/admin/LogsClass.php index 841bcc8..0da49f4 100755 --- a/admin/LogsClass.php +++ b/admin/LogsClass.php @@ -91,12 +91,12 @@ public function manage_sorting( $order_by, $order, $sql ) { } elseif ( $order_by === 'r' ) { $sql .= ' ORDER BY referer'; } - $sql .= ' ' . $order; + $sql .= ' ' . sanitize_sql_orderby( $order ); return $sql; } public function manage_search( $search, $sql ) { - $sql .= " WHERE (ip LIKE '%" . $search . "%' OR path LIKE '%" . $search . "%' OR referer LIKE '%" . $search . "%' OR user_agent LIKE '%" . $search . "%' OR created LIKE '%" . $search . "%')"; + $sql .= " WHERE (ip LIKE '%" . sanitize_text_field( $search ) . "%' OR path LIKE '%" . $search . "%' OR referer LIKE '%" . $search . "%' OR user_agent LIKE '%" . $search . "%' OR created LIKE '%" . $search . "%')"; return $sql; } diff --git a/admin/views/logs.php b/admin/views/logs.php index 1c507f4..2ddc885 100755 --- a/admin/views/logs.php +++ b/admin/views/logs.php @@ -16,7 +16,7 @@ display(); ?> diff --git a/admin/views/settings-general.php b/admin/views/settings-general.php index d32e91c..345b533 100755 --- a/admin/views/settings-general.php +++ b/admin/views/settings-general.php @@ -1,7 +1,7 @@ table_options; +$sql = 'SELECT * FROM ' . $wpdb->prefix . $helpers->table_options; $result = $wpdb->get_results( $sql ); $row_send_email = $result[3]; $row_logging_enabled = $result[4]; diff --git a/custom-404-pro.php b/custom-404-pro.php index 3799be3..bfa5ecd 100755 --- a/custom-404-pro.php +++ b/custom-404-pro.php @@ -4,7 +4,7 @@ Plugin Name: Custom 404 Pro Plugin URI: https://wordpress.org/plugins/custom-404-pro/ Description: Override the default 404 page with any page or a custom URL from the Admin Panel. -Version: 3.7.2 +Version: 3.7.3 Author: Kunal Nagar Author URI: https://www.kunalnagar.in License: GPL-2.0+ diff --git a/readme.txt b/readme.txt index a60bebf..232f879 100755 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Donate link: https://www.paypal.me/kunalnagar88/10 Tags: wordpress, 404, 404 error page, 404 link, 404 page, broken link, custom 404, custom 404 error, custom 404 error page, custom 404 page, customize 404, customize 404 error page, customize 404 page, error, error page, missing, page, page not found, page not found error Requires at least: 3.0.1 Tested up to: 6.1 -Stable tag: 3.7.2 +Stable tag: 3.7.3 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html @@ -55,6 +55,9 @@ Uninstall the plugin from the Plugins page (important!) and reinstall it. Never == Changelog == += 3.7.3 = +* Fix vulnerabilities + = 3.7.2 = * Fix CSRF vulnerability in Logs table