rebase code on oct-10-2023

This commit is contained in:
Rachit Bhargava
2023-10-10 17:51:46 -04:00
parent b16ad94b69
commit 8f1a2c3a66
2197 changed files with 184921 additions and 35568 deletions

View File

@@ -3068,23 +3068,6 @@
}
});
},
acknowledgeAdminUser: function (issueID) {
var self = this;
this.ajax('wordfence_acknowledgeAdminUser', {
issueID: issueID
}, function(res) {
if (res.ok) {
self.loadIssues(function() {
self.colorboxModal((self.isSmallScreen ? '300px' : '400px'), __("Successfully acknowledged admin"), sprintf(__("The admin user %s will no longer show up in future scans."), res.user_login));
});
} else if (res.errorMsg) {
self.loadIssues(function() {
WFAD.colorboxError(res.errorMsg, res.tokenInvalid);
});
}
});
},
windowHasFocus: function() {
if (typeof document.hasFocus === 'function') {

View File

@@ -1,17 +1,17 @@
# Copyright (C) 2023 Wordfence
# This file is distributed under the GPLv3.
# This file is distributed under the same license as the Wordfence Security plugin.
msgid ""
msgstr ""
"Project-Id-Version: Wordfence Security 7.10.4\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wordfence-zip-jST0vjW28\n"
"Project-Id-Version: Wordfence Security 7.10.3\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wordfence-zip-DRQa4hG9o\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2023-09-25T15:53:16+00:00\n"
"POT-Creation-Date: 2023-07-31T09:38:31-04:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.7.1\n"
"X-Generator: WP-CLI 2.4.0\n"
"X-Domain: wordfence\n"
#. Plugin Name of the plugin
@@ -249,11 +249,10 @@ msgstr ""
#: lib/wfScanEngine.php:1334
#: lib/wfScanEngine.php:1477
#: lib/wfScanEngine.php:1841
#: lib/wfScanEngine.php:1960
#: lib/wfScanEngine.php:2133
#: lib/wfScanEngine.php:2172
#: lib/wfScanEngine.php:2373
#: lib/wfScanEngine.php:2415
#: lib/wfScanEngine.php:2087
#: lib/wfScanEngine.php:2126
#: lib/wfScanEngine.php:2327
#: lib/wfScanEngine.php:2369
#: lib/wfVersionCheckController.php:69
#: lib/wfVersionCheckController.php:92
#: lib/wfVersionCheckController.php:168
@@ -492,11 +491,11 @@ msgstr ""
#: lib/menu_tools_diagnostic.php:905
#: lib/menu_tools_twoFactor.php:235
#: lib/menu_tools_twoFactor.php:273
#: lib/wordfenceClass.php:8298
#: lib/wordfenceClass.php:8342
#: lib/wordfenceClass.php:8406
#: lib/wordfenceClass.php:8466
#: lib/wordfenceClass.php:8512
#: lib/wordfenceClass.php:8269
#: lib/wordfenceClass.php:8313
#: lib/wordfenceClass.php:8377
#: lib/wordfenceClass.php:8437
#: lib/wordfenceClass.php:8483
#: modules/login-security/views/manage/deactivate.php:31
#: modules/login-security/views/manage/regenerate.php:26
#: views/blocking/block-list.php:501
@@ -980,7 +979,7 @@ msgstr ""
#: lib/menu_dashboard.php:67
#: lib/menu_dashboard_options.php:111
#: lib/menu_scanner.php:27
#: lib/menu_scanner.php:296
#: lib/menu_scanner.php:295
#: lib/wordfenceClass.php:6834
#: models/page/wfPage.php:113
msgid "Scan"
@@ -1206,9 +1205,9 @@ msgstr ""
#: lib/menu_firewall_waf.php:255
#: lib/menu_firewall_waf.php:272
#: lib/menu_firewall_waf.php:289
#: lib/menu_scanner.php:304
#: lib/menu_scanner.php:321
#: lib/menu_scanner.php:373
#: lib/menu_scanner.php:303
#: lib/menu_scanner.php:320
#: lib/menu_scanner.php:372
#: views/tours/login-security.php:37
#: views/tours/login-security.php:53
msgid "Next"
@@ -1233,9 +1232,9 @@ msgstr ""
#: lib/menu_firewall_waf.php:271
#: lib/menu_firewall_waf.php:288
#: lib/menu_firewall_waf.php:306
#: lib/menu_scanner.php:320
#: lib/menu_scanner.php:336
#: lib/menu_scanner.php:387
#: lib/menu_scanner.php:319
#: lib/menu_scanner.php:335
#: lib/menu_scanner.php:386
#: views/tours/login-security.php:52
#: views/tours/login-security.php:69
msgid "Previous"
@@ -1256,8 +1255,8 @@ msgstr ""
#: lib/menu_firewall_blocking.php:226
#: lib/menu_firewall_waf.php:307
#: lib/menu_firewall_waf.php:354
#: lib/menu_scanner.php:337
#: lib/menu_scanner.php:388
#: lib/menu_scanner.php:336
#: lib/menu_scanner.php:387
#: lib/menu_tools_livetraffic.php:577
#: lib/menu_tools_livetraffic.php:608
msgid "Got it"
@@ -2455,10 +2454,10 @@ msgstr ""
#: lib/wordfenceClass.php:6228
#: lib/wordfenceClass.php:6230
#: lib/wordfenceClass.php:6281
#: lib/wordfenceClass.php:8323
#: lib/wordfenceClass.php:8330
#: lib/wordfenceClass.php:8437
#: lib/wordfenceClass.php:8501
#: lib/wordfenceClass.php:8294
#: lib/wordfenceClass.php:8301
#: lib/wordfenceClass.php:8408
#: lib/wordfenceClass.php:8472
#: modules/login-security/classes/controller/wordfencels.php:366
#: modules/login-security/classes/controller/wordfencels.php:369
#: views/dashboard/options-group-import.php:147
@@ -2469,39 +2468,39 @@ msgstr ""
msgid "Close"
msgstr ""
#: lib/menu_scanner.php:297
#: lib/menu_scanner.php:296
msgid "A Wordfence scan looks for malware, malicious URLs, and patterns of infections by examining all of the files, posts, and comments on your WordPress website. It also checks your server and monitors your site's online reputation."
msgstr ""
#: lib/menu_scanner.php:311
#: lib/menu_scanner.php:310
msgid "Manage Scan Settings"
msgstr ""
#: lib/menu_scanner.php:313
#: lib/menu_scanner.php:312
msgid "Set up the way you want the scan to monitor your site security including custom scan configurations and scheduling."
msgstr ""
#: lib/menu_scanner.php:328
#: lib/menu_scanner.php:327
msgid "Start Your First Scan"
msgstr ""
#: lib/menu_scanner.php:329
#: lib/menu_scanner.php:328
msgid "By default, Wordfence will scan your site daily. Start your first scan now to see if your site has any security issues that need to be addressed. From here you can run manual scans any time you like."
msgstr ""
#: lib/menu_scanner.php:365
#: lib/menu_scanner.php:364
msgid "Scan Options &amp; Settings"
msgstr ""
#: lib/menu_scanner.php:367
#: lib/menu_scanner.php:366
msgid "All of your scan options, including scheduling, are now located here."
msgstr ""
#: lib/menu_scanner.php:380
#: lib/menu_scanner.php:379
msgid "Scan Progress and Activity"
msgstr ""
#: lib/menu_scanner.php:381
#: lib/menu_scanner.php:380
msgid "Track each scan stage as Wordfence scans your entire site. Along the way you can see the activity log one line at a time or expand the activity log for a more detailed view. Clicking on scan results will reveal detailed scan findings."
msgstr ""
@@ -4000,7 +3999,7 @@ msgstr ""
#. translators: URL to the WordPress admin panel.
#: lib/wfActivityReport.php:507
#: lib/wfIssues.php:488
#: lib/wfIssues.php:487
msgid "No longer an administrator for this site? <a href=\"%s\" target=\"_blank\">Click here</a> to stop receiving security alerts."
msgstr ""
@@ -4010,37 +4009,37 @@ msgid "Wordfence activity for %1$s on %2$s"
msgstr ""
#: lib/wfActivityReport.php:584
#: lib/wordfenceClass.php:8734
#: lib/wordfenceClass.php:8705
msgid "Blocked because the IP is blocklisted"
msgstr ""
#. translators: Reason for firewall action.
#: lib/wfActivityReport.php:587
#: lib/wordfenceClass.php:8737
#: lib/wordfenceClass.php:8708
msgid "Blocked for %s"
msgstr ""
#. translators: 1. Reason for firewall action. 2. Input parameter. 2. Input parameter value.
#: lib/wfActivityReport.php:599
#: lib/wordfenceClass.php:8751
#: lib/wordfenceClass.php:8722
msgid "Blocked for %1$s in query string: %2$s = %3$s"
msgstr ""
#. translators: 1. Reason for firewall action. 2. Input parameter. 2. Input parameter value.
#: lib/wfActivityReport.php:602
#: lib/wordfenceClass.php:8756
#: lib/wordfenceClass.php:8727
msgid "Blocked for %1$s in POST body: %2$s = %3$s"
msgstr ""
#. translators: 1. Reason for firewall action. 2. Input parameter. 2. Input parameter value.
#: lib/wfActivityReport.php:605
#: lib/wordfenceClass.php:8761
#: lib/wordfenceClass.php:8732
msgid "Blocked for %1$s in cookie: %2$s = %3$s"
msgstr ""
#. translators: 1. Reason for firewall action. 2. Input parameter. 2. Input parameter value.
#: lib/wfActivityReport.php:608
#: lib/wordfenceClass.php:8766
#: lib/wordfenceClass.php:8737
msgid "Blocked for %1$s in file: %2$s = %3$s"
msgstr ""
@@ -4054,7 +4053,7 @@ msgstr ""
#: lib/wordfenceClass.php:6287
#: lib/wordfenceClass.php:6542
#: lib/wordfenceClass.php:6577
#: lib/wordfenceClass.php:9314
#: lib/wordfenceClass.php:9285
msgid "Dismiss"
msgstr ""
@@ -5290,7 +5289,7 @@ msgid "Unable to remove code execution protections applied to the .htaccess file
msgstr ""
#: lib/wfConfig.php:1193
#: lib/wordfenceClass.php:7786
#: lib/wordfenceClass.php:7757
#: modules/login-security/classes/controller/settings.php:214
msgid "The grace period end time must be in the future."
msgstr ""
@@ -5634,7 +5633,7 @@ msgstr ""
#: lib/wfDiagnostic.php:431
#: lib/wfDiagnostic.php:929
#: lib/wfDiagnostic.php:956
#: lib/wfUpdateCheck.php:117
#: lib/wfUpdateCheck.php:114
#: views/scanner/issue-base.php:118
msgid "None"
msgstr ""
@@ -6736,8 +6735,8 @@ msgstr ""
#. translators: Scan result description.
#: lib/wfScanEngine.php:1147
#: lib/wfScanEngine.php:2375
#: lib/wfScanEngine.php:2417
#: lib/wfScanEngine.php:2329
#: lib/wfScanEngine.php:2371
msgid "Adding issue: %s"
msgstr ""
@@ -6782,7 +6781,7 @@ msgid "Examining URLs found in posts we scanned for dangerous websites"
msgstr ""
#: lib/wfScanEngine.php:1292
#: lib/wfScanEngine.php:2338
#: lib/wfScanEngine.php:2292
msgid "Done examining URLs"
msgstr ""
@@ -6989,263 +6988,240 @@ msgstr ""
msgid "Scanning for old themes, plugins and core files"
msgstr ""
#. translators: error message.
#: lib/wfScanEngine.php:1951
msgid "The update check performed during the scan encountered an error: %s"
msgstr ""
#: lib/wfScanEngine.php:1953
msgid "Wordfence cannot detect if the installed plugins and themes are up to date. This might be caused by a PHP compatibility issue in one or more plugins/themes."
msgstr ""
#: lib/wfScanEngine.php:1956
msgid "Wordfence cannot detect if this plugin/theme is up to date. This might be caused by a PHP compatibility issue in the plugin."
msgstr ""
#. translators: Support URL.
#: lib/wfScanEngine.php:1960
#: lib/wfScanEngine.php:2133
#: lib/wfScanEngine.php:2172
#: lib/wfScanEngine.php:2373
#: lib/wfScanEngine.php:2415
msgid "<a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">Get more information.<span class=\"screen-reader-text\"> ("
msgstr ""
#: lib/wfScanEngine.php:1969
msgid "Update Check Encountered Error"
msgstr ""
#. translators: plugin/theme slug.
#: lib/wfScanEngine.php:1969
msgid "Update Check Encountered Error on '%s'"
msgstr ""
#: lib/wfScanEngine.php:1988
#: lib/wfScanEngine.php:1942
msgid "Your WordPress version is out of date"
msgstr ""
#. translators: Software version.
#: lib/wfScanEngine.php:1989
#: lib/wfScanEngine.php:1943
msgid "WordPress version %s is now available. Please upgrade immediately to get the latest security updates from WordPress."
msgstr ""
#. translators: 1. Plugin name. 2. Software version. 3. Software version.
#: lib/wfScanEngine.php:2016
#: lib/wfScanEngine.php:1970
msgid "The Plugin \"%1$s\" needs an upgrade (%2$s -> %3$s)."
msgstr ""
#. translators: Theme name.
#: lib/wfScanEngine.php:2023
#: lib/wfScanEngine.php:2057
#: lib/wfScanEngine.php:1977
#: lib/wfScanEngine.php:2011
msgid "You need to upgrade \"%s\" to the newest version to ensure you have any security fixes the developer has released."
msgstr ""
#. translators: 1. Theme name. 2. Software version. 3. Software version.
#: lib/wfScanEngine.php:2050
#: lib/wfScanEngine.php:2004
msgid "The Theme \"%1$s\" needs an upgrade (%2$s -> %3$s)."
msgstr ""
#. translators: 1. Plugin name. 2. Software version. 3. Software version.
#: lib/wfScanEngine.php:2101
#: lib/wfScanEngine.php:2055
msgid "The Plugin \"%1$s\" appears to be abandoned (updated %2$s, tested to WP %3$s)."
msgstr ""
#. translators: 1. Plugin name. 2. Software version.
#: lib/wfScanEngine.php:2108
#: lib/wfScanEngine.php:2062
msgid "It was last updated %1$s ago and tested up to WordPress %2$s."
msgstr ""
#. translators: 1. Plugin name. 2. Software version.
#: lib/wfScanEngine.php:2115
#: lib/wfScanEngine.php:2069
msgid "The Plugin \"%1$s\" appears to be abandoned (updated %2$s)."
msgstr ""
#. translators: Time duration.
#: lib/wfScanEngine.php:2121
#: lib/wfScanEngine.php:2075
msgid "It was last updated %s ago."
msgstr ""
#: lib/wfScanEngine.php:2127
#: lib/wfScanEngine.php:2166
#: lib/wfScanEngine.php:2081
#: lib/wfScanEngine.php:2120
msgid "It has unpatched security issues and may have compatibility problems with the current version of WordPress."
msgstr ""
#: lib/wfScanEngine.php:2129
#: lib/wfScanEngine.php:2168
#: lib/wfScanEngine.php:2083
#: lib/wfScanEngine.php:2122
msgid "Your site is still using this plugin, but it is not currently available on wordpress.org. Plugins can be removed from wordpress.org for various reasons. This can include benign issues like a plugin author discontinuing development or moving the plugin distribution to their own site, but some might also be due to security issues. In any case, future updates may or may not be available, so it is worth investigating the cause and deciding whether to temporarily or permanently replace or remove the plugin."
msgstr ""
#. translators: Support URL.
#: lib/wfScanEngine.php:2087
#: lib/wfScanEngine.php:2126
#: lib/wfScanEngine.php:2327
#: lib/wfScanEngine.php:2369
msgid "<a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">Get more information.<span class=\"screen-reader-text\"> ("
msgstr ""
#. translators: Plugin name.
#: lib/wfScanEngine.php:2164
#: lib/wfScanEngine.php:2118
msgid "The Plugin \"%s\" has been removed from wordpress.org but is still installed on your site."
msgstr ""
#: lib/wfScanEngine.php:2191
#: lib/wfScanEngine.php:2145
msgid "The Plugin \"%s\" has a security vulnerability."
msgstr ""
#: lib/wfScanEngine.php:2194
#: lib/wfScanEngine.php:2148
msgid "To protect your site from this vulnerability, the safest option is to deactivate and completely remove \"%s\" until a patched version is available. <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">Get more information.<span class=\"screen-reader-text\"> (opens in new tab)</span></a>"
msgstr ""
#: lib/wfScanEngine.php:2230
#: lib/wfScanEngine.php:2184
msgid "Scanning for admin users not created through WordPress"
msgstr ""
#. translators: WordPress username.
#: lib/wfScanEngine.php:2252
#: lib/wfScanEngine.php:2206
msgid "An admin user with the username %s was created outside of WordPress."
msgstr ""
#. translators: WordPress username.
#: lib/wfScanEngine.php:2253
#: lib/wfScanEngine.php:2207
msgid "An admin user with the username %s was created outside of WordPress. It's possible a plugin could have created the account, but if you do not recognize the user, we suggest you remove it."
msgstr ""
#. translators: WordPress username.
#: lib/wfScanEngine.php:2279
#: lib/wfScanEngine.php:2233
msgid "An admin user with a suspicious username %s was found."
msgstr ""
#. translators: WordPress username.
#: lib/wfScanEngine.php:2280
#: lib/wfScanEngine.php:2234
msgid "An admin user with a suspicious username %s was found. Administrators accounts with usernames similar to this are commonly seen created by hackers. It's possible a plugin could have created the account, but if you do not recognize the user, we suggest you remove it."
msgstr ""
#: lib/wfScanEngine.php:2301
#: lib/wfScanEngine.php:2255
msgid "Scanning for suspicious site options"
msgstr ""
#: lib/wfScanEngine.php:2336
#: lib/wfScanEngine.php:2290
msgid "Examining URLs found in the options we scanned for dangerous websites"
msgstr ""
#. translators: URL.
#: lib/wfScanEngine.php:2360
#: lib/wfScanEngine.php:2366
#: lib/wfScanEngine.php:2314
#: lib/wfScanEngine.php:2320
msgid "Option contains a suspected malware URL: %s"
msgstr ""
#. translators: URL.
#: lib/wfScanEngine.php:2361
#: lib/wfScanEngine.php:2315
msgid "This option contains a suspected malware URL listed on Google's list of malware sites. It may indicate your site is infected with malware. The URL is: %s"
msgstr ""
#. translators: URL.
#: lib/wfScanEngine.php:2363
#: lib/wfScanEngine.php:2317
msgid "Option contains a suspected phishing site URL: %s"
msgstr ""
#. translators: URL.
#: lib/wfScanEngine.php:2364
#: lib/wfScanEngine.php:2318
msgid "This option contains a URL that is a suspected phishing site that is currently listed on Google's list of known phishing sites. It may indicate your site is infected with malware. The URL is: %s"
msgstr ""
#. translators: URL.
#: lib/wfScanEngine.php:2367
#: lib/wfScanEngine.php:2321
msgid "This option contains a URL that is currently listed on Wordfence's domain blocklist. It may indicate your site is infected with malware. The URL is: %s"
msgstr ""
#: lib/wfScanEngine.php:2407
#: lib/wfScanEngine.php:2361
msgid "Checking for future GeoIP support"
msgstr ""
#: lib/wfScanEngine.php:2412
#: lib/wfScanEngine.php:2366
msgid "PHP Update Needed for Country Blocking"
msgstr ""
#. translators: Software version.
#: lib/wfScanEngine.php:2413
#: lib/wfScanEngine.php:2367
msgid "The GeoIP database that is required for country blocking has been updated to a new format. This new format requires sites to run PHP 5.4 or newer, and this site is on PHP %s. To ensure country blocking continues functioning, please update PHP."
msgstr ""
#: lib/wfScanEngine.php:2463
#: lib/wfScanEngine.php:2417
msgid "Previous scan was stopped successfully."
msgstr ""
#: lib/wfScanEngine.php:2464
#: lib/wfScanEngine.php:2418
msgid "Scan was stopped on administrator request."
msgstr ""
#: lib/wfScanEngine.php:2480
#: lib/wfScanEngine.php:2434
msgid "Entering start scan routine"
msgstr ""
#: lib/wfScanEngine.php:2483
#: lib/wfScanEngine.php:2437
msgid "A scan is already running. Use the stop scan button if you would like to terminate the current scan."
msgstr ""
#: lib/wfScanEngine.php:2499
#: lib/wfScanEngine.php:2453
msgid "Cached result for scan start test: %s"
msgstr ""
#. translators: Scan start test result data.
#: lib/wfScanEngine.php:2515
#: lib/wfScanEngine.php:2469
msgid "Test result of scan start URL fetch: %s"
msgstr ""
#. translators: WordPress admin panel URL.
#: lib/wfScanEngine.php:2528
#: lib/wfScanEngine.php:2482
msgid "Starting cron with normal ajax at URL %s"
msgstr ""
#. translators: Error message.
#. translators: WordPress admin panel URL.
#: lib/wfScanEngine.php:2552
#: lib/wfScanEngine.php:2587
#: lib/wfScanEngine.php:2506
#: lib/wfScanEngine.php:2541
msgid "There was an error starting the scan: %s."
msgstr ""
#: lib/wfScanEngine.php:2554
#: lib/wfScanEngine.php:2589
#: lib/wfScanEngine.php:2508
#: lib/wfScanEngine.php:2543
msgid "There was an unknown error starting the scan."
msgstr ""
#: lib/wfScanEngine.php:2561
#: lib/wfScanEngine.php:2595
#: lib/wfScanEngine.php:2515
#: lib/wfScanEngine.php:2549
msgid "Scan process ended after forking."
msgstr ""
#. translators: WordPress admin panel URL.
#: lib/wfScanEngine.php:2565
#: lib/wfScanEngine.php:2519
msgid "Starting cron via proxy at URL %s"
msgstr ""
#. translators: Time in seconds.
#: lib/wfScanEngine.php:2641
#: lib/wfScanEngine.php:2595
msgid "Got value from wf config maxExecutionTime: %s"
msgstr ""
#. translators: Time in seconds.
#: lib/wfScanEngine.php:2645
#: lib/wfScanEngine.php:2599
msgid "getMaxExecutionTime() returning config value: %s"
msgstr ""
#. translators: PHP ini value.
#: lib/wfScanEngine.php:2652
#: lib/wfScanEngine.php:2606
msgid "Got max_execution_time value from ini: %s"
msgstr ""
#. translators: 1. PHP ini setting. 2. Time in seconds.
#: lib/wfScanEngine.php:2659
#: lib/wfScanEngine.php:2613
msgid "ini value of %1$d is higher than value for WORDFENCE_SCAN_MAX_INI_EXECUTION_TIME (%2$d), reducing"
msgstr ""
#. translators: PHP ini setting.
#: lib/wfScanEngine.php:2669
#: lib/wfScanEngine.php:2623
msgid "getMaxExecutionTime() returning half ini value: %d"
msgstr ""
#: lib/wfScanEngine.php:2675
#: lib/wfScanEngine.php:2629
msgid "getMaxExecutionTime() returning default of: 15"
msgstr ""
#. translators: 1. HTTP status code.
#: lib/wfScanEngine.php:2877
#: lib/wfScanEngine.php:2831
msgid "Got error response from Wordfence servers: %s"
msgstr ""
#: lib/wfScanEngine.php:2881
#: lib/wfScanEngine.php:2835
msgid "Invalid response from Wordfence servers."
msgstr ""
@@ -7262,11 +7238,11 @@ msgid "Send Unlock Email"
msgstr ""
#. translators: 1. Plugin slug.
#: lib/wfUpdateCheck.php:47
#: lib/wfUpdateCheck.php:44
msgid "Outdated plugin scan adjusted invalid return value in plugins_api filter for %s"
msgstr ""
#: lib/wfUpdateCheck.php:109
#: lib/wfUpdateCheck.php:106
#: views/dashboard/options-group-alert.php:73
#: views/scanner/issue-base.php:32
#: views/scanner/issue-base.php:41
@@ -7274,7 +7250,7 @@ msgstr ""
msgid "Critical"
msgstr ""
#: lib/wfUpdateCheck.php:111
#: lib/wfUpdateCheck.php:108
#: views/dashboard/options-group-alert.php:74
#: views/scanner/issue-base.php:33
#: views/scanner/issue-base.php:42
@@ -7282,7 +7258,7 @@ msgstr ""
msgid "High"
msgstr ""
#: lib/wfUpdateCheck.php:113
#: lib/wfUpdateCheck.php:110
#: views/dashboard/options-group-alert.php:75
#: views/scanner/issue-base.php:34
#: views/scanner/issue-base.php:43
@@ -7290,7 +7266,7 @@ msgstr ""
msgid "Medium"
msgstr ""
#: lib/wfUpdateCheck.php:115
#: lib/wfUpdateCheck.php:112
#: views/dashboard/options-group-alert.php:76
#: views/scanner/issue-base.php:35
#: views/scanner/issue-base.php:44
@@ -8052,7 +8028,7 @@ msgstr ""
#: lib/wordfenceClass.php:5351
#: lib/wordfenceClass.php:7555
#: lib/wordfenceClass.php:7590
#: lib/wordfenceClass.php:7651
#: lib/wordfenceClass.php:7622
msgid "We could not find that issue in our database."
msgstr ""
@@ -9322,8 +9298,6 @@ msgstr ""
#: lib/wordfenceClass.php:7559
#: lib/wordfenceClass.php:7563
#: lib/wordfenceClass.php:7594
#: lib/wordfenceClass.php:7621
#: lib/wordfenceClass.php:7625
msgid "We could not find that user in the database."
msgstr ""
@@ -9331,236 +9305,232 @@ msgstr ""
msgid "This user's email is the network admin email. It will need to be changed before deleting this user."
msgstr ""
#: lib/wordfenceClass.php:7617
msgid "We could not find that issue in the database."
msgstr ""
#: lib/wordfenceClass.php:7660
#: lib/wordfenceClass.php:7631
msgid "Wordfence could not find your .htaccess file."
msgstr ""
#: lib/wordfenceClass.php:7676
#: lib/wordfenceClass.php:7647
msgid "Updating the .htaccess did not fix the issue. You may need to add <code>Options -Indexes</code> to your httpd.conf if using Apache, or find documentation on how to disable directory listing for your web server."
msgstr ""
#: lib/wordfenceClass.php:7682
#: lib/wordfenceClass.php:7653
msgid "There was an error writing to your .htaccess file."
msgstr ""
#: lib/wordfenceClass.php:7761
#: lib/wordfenceClass.php:7732
msgid "Required parameters not sent."
msgstr ""
#: lib/wordfenceClass.php:7771
#: lib/wordfenceClass.php:7742
msgid "The WAF is currently in read-only mode and will not save any configuration changes."
msgstr ""
#: lib/wordfenceClass.php:7809
#: lib/wordfenceClass.php:7780
#: views/waf/option-whitelist.php:60
msgid "Allowlisted via Firewall Options page"
msgstr ""
#: lib/wordfenceClass.php:8096
#: lib/wordfenceClass.php:8067
msgid "Allowlisted via Live Traffic"
msgstr ""
#: lib/wordfenceClass.php:8260
#: lib/wordfenceClass.php:8357
#: lib/wordfenceClass.php:8231
#: lib/wordfenceClass.php:8328
msgid "A valid server configuration was not provided."
msgstr ""
#: lib/wordfenceClass.php:8271
#: lib/wordfenceClass.php:8378
#: lib/wordfenceClass.php:8242
#: lib/wordfenceClass.php:8349
msgid "Filesystem Credentials Required"
msgstr ""
#. translators: Support URL.
#: lib/wordfenceClass.php:8273
#: lib/wordfenceClass.php:8297
#: lib/wordfenceClass.php:8341
#: lib/wordfenceClass.php:8244
#: lib/wordfenceClass.php:8268
#: lib/wordfenceClass.php:8312
msgid "If you cannot complete the setup process, <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">click here for help<span class=\"screen-reader-text\"> (opens in new tab)</span></a>"
msgstr ""
#. translators: Support URL.
#: lib/wordfenceClass.php:8274
#: lib/wordfenceClass.php:8245
msgid "Once you have entered credentials, click Continue to complete the setup."
msgstr ""
#: lib/wordfenceClass.php:8295
#: lib/wordfenceClass.php:8403
#: lib/wordfenceClass.php:8266
#: lib/wordfenceClass.php:8374
msgid "Filesystem Permission Error"
msgstr ""
#: lib/wordfenceClass.php:8321
#: lib/wordfenceClass.php:8292
msgid "Manual Installation Instructions"
msgstr ""
#: lib/wordfenceClass.php:8328
#: lib/wordfenceClass.php:8299
msgid "Installation Successful"
msgstr ""
#: lib/wordfenceClass.php:8339
#: lib/wordfenceClass.php:8310
msgid "Installation Failed"
msgstr ""
#. translators: Support URL.
#: lib/wordfenceClass.php:8380
#: lib/wordfenceClass.php:8405
#: lib/wordfenceClass.php:8351
#: lib/wordfenceClass.php:8376
#: lib/wordfenceClass.php:8407
#: lib/wordfenceClass.php:8436
#: lib/wordfenceClass.php:8465
#: lib/wordfenceClass.php:8511
#: lib/wordfenceClass.php:8482
#: views/waf/waf-uninstall.php:13
msgid "If you cannot complete the uninstall process, <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">click here for help<span class=\"screen-reader-text\"> (opens in new tab)</span></a>"
msgstr ""
#. translators: Support URL.
#: lib/wordfenceClass.php:8381
#: lib/wordfenceClass.php:8352
msgid "Once you have entered credentials, click Continue to complete uninstallation."
msgstr ""
#: lib/wordfenceClass.php:8425
#: lib/wordfenceClass.php:8396
msgid "The <code>auto_prepend_file</code> setting has been successfully removed from <code>.htaccess</code> and <code>.user.ini</code>. Once this change takes effect, Extended Protection Mode will be disabled."
msgstr ""
#: lib/wordfenceClass.php:8427
#: lib/wordfenceClass.php:8398
msgid "Any previous value for <code>auto_prepend_file</code> will need to be re-enabled manually if still needed."
msgstr ""
#. translators: Time until.
#: lib/wordfenceClass.php:8431
#: lib/wordfenceClass.php:8402
msgid "Waiting for it to take effect. This may take up to %s."
msgstr ""
#: lib/wordfenceClass.php:8434
#: lib/wordfenceClass.php:8405
msgid "Waiting for Changes"
msgstr ""
#: lib/wordfenceClass.php:8456
#: lib/wordfenceClass.php:8427
msgid "Extended Protection Mode has not been disabled. This may be because <code>auto_prepend_file</code> is configured somewhere else or the value is still cached by PHP."
msgstr ""
#: lib/wordfenceClass.php:8458
#: lib/wordfenceClass.php:8429
msgid "Retrying Failed."
msgstr ""
#: lib/wordfenceClass.php:8460
#: lib/wordfenceClass.php:8431
#: modules/login-security/views/settings/user-stats.php:75
msgid "Try Again"
msgstr ""
#: lib/wordfenceClass.php:8463
#: lib/wordfenceClass.php:8434
msgid "Unable to Uninstall"
msgstr ""
#: lib/wordfenceClass.php:8499
#: lib/wordfenceClass.php:8470
msgid "Uninstallation Complete"
msgstr ""
#: lib/wordfenceClass.php:8509
#: lib/wordfenceClass.php:8480
msgid "Uninstallation Failed"
msgstr ""
#. translators: 1. Number of attacks/blocks. 2. Time since.
#: lib/wordfenceClass.php:8717
#: lib/wordfenceClass.php:8688
msgid "The Wordfence Web Application Firewall has blocked %1$d attacks over the last %2$s."
msgstr ""
#: lib/wordfenceClass.php:8722
#: lib/wordfenceClass.php:8693
msgid "Wordfence is blocking these attacks, and we're sending this notice to make you aware that there is a higher volume of the attacks than usual. Additionally, the Wordfence Real-Time IP Blocklist can block known attackers' IP addresses automatically for Premium users, including any probing requests that may not be malicious on their own. All Wordfence users can also opt to block the attacking IPs manually if desired. As always, be sure to watch your scan results and keep your plugins, themes and WordPress core version updated."
msgstr ""
#: lib/wordfenceClass.php:8724
#: lib/wordfenceClass.php:8695
msgid "Below is a sample of these recent attacks:"
msgstr ""
#: lib/wordfenceClass.php:9306
#: lib/wordfenceClass.php:9277
msgid "An error was detected with this site's configuration that is preventing a successful connection to Wordfence Central. Disconnecting from Central <a href=\"%s\">on the Wordfence Dashboard</a> and reconnecting may resolve it. If the issue persists, please contact Wordfence support."
msgstr ""
#: lib/wordfenceClass.php:9313
#: lib/wordfenceClass.php:9284
msgid "To make your site as secure as possible, take a moment to optimize the Wordfence Web Application Firewall:"
msgstr ""
#: lib/wordfenceClass.php:9313
#: lib/wordfenceClass.php:9284
msgid "Click here to configure"
msgstr ""
#. translators: Support URL.
#: lib/wordfenceClass.php:9316
#: lib/wordfenceClass.php:9287
msgid "If you cannot complete the setup process, <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">click here for help<span class=\"screen-reader-text\"> (opens in new tab)</span></a>."
msgstr ""
#: lib/wordfenceClass.php:9322
#: lib/wordfenceClass.php:9293
#: views/waf/waf-install-success.php:14
msgid "Nice work! The firewall is now optimized."
msgstr ""
#: lib/wordfenceClass.php:9324
#: lib/wordfenceClass.php:9336
#: lib/wordfenceClass.php:9295
#: lib/wordfenceClass.php:9307
#: views/waf/waf-install-success.php:16
#: views/waf/waf-uninstall-success.php:19
msgid "The changes have not yet taken effect. If you are using LiteSpeed or IIS as your web server or CGI/FastCGI interface, you may need to wait a few minutes for the changes to take effect since the configuration files are sometimes cached. You also may need to select a different server configuration in order to complete this step, but wait for a few minutes before trying. You can try refreshing this page."
msgstr ""
#: lib/wordfenceClass.php:9330
#: lib/wordfenceClass.php:9301
#: views/waf/waf-uninstall-success.php:15
msgid "Uninstallation was successful!"
msgstr ""
#: lib/wordfenceClass.php:9333
#: lib/wordfenceClass.php:9304
#: views/waf/waf-uninstall-success.php:17
msgid "Uninstallation from this site was successful! The Wordfence Firewall is still active because it is installed in another WordPress installation."
msgstr ""
#: lib/wordfenceClass.php:9341
#: lib/wordfenceClass.php:9312
msgid "The update was successful!"
msgstr ""
#: lib/wordfenceClass.php:9491
#: lib/wordfenceClass.php:9462
msgid "Auth grant is invalid."
msgstr ""
#. translators: Error message.
#: lib/wordfenceClass.php:9506
#: lib/wordfenceClass.php:9477
msgid "Invalid response from Wordfence Central: %s"
msgstr ""
#. translators: JSON property.
#: lib/wordfenceClass.php:9512
#: lib/wordfenceClass.php:9525
#: lib/wordfenceClass.php:9483
#: lib/wordfenceClass.php:9496
msgid "Invalid response from Wordfence Central. Parameter %s not found in response."
msgstr ""
#: lib/wordfenceClass.php:9554
#: lib/wordfenceClass.php:9691
#: lib/wordfenceClass.php:9525
#: lib/wordfenceClass.php:9662
msgid "Access token not found."
msgstr ""
#: lib/wordfenceClass.php:9599
#: lib/wordfenceClass.php:9666
#: lib/wordfenceClass.php:9570
#: lib/wordfenceClass.php:9637
msgid "Invalid response from Wordfence Central."
msgstr ""
#: lib/wordfenceClass.php:9642
#: lib/wordfenceClass.php:9613
msgid "Auth grant not found."
msgstr ""
#: lib/wordfenceClass.php:9912
#: lib/wordfenceClass.php:9883
msgid "We were unable to create the <code>wordfence-waf.php</code> file in the root of the WordPress installation. It's possible WordPress cannot write to the <code>wordfence-waf.php</code> file because of file permissions. Please verify the permissions are correct and retry the installation."
msgstr ""
#: lib/wordfenceClass.php:10004
#: lib/wordfenceClass.php:10075
#: lib/wordfenceClass.php:9975
#: lib/wordfenceClass.php:10046
msgid "We were unable to make changes to the .htaccess file. It's possible WordPress cannot write to the .htaccess file because of file permissions, which may have been set by another security plugin, or you may have set them manually. Please verify the permissions allow the web server to write to the file, and retry the installation."
msgstr ""
#. translators: File path.
#: lib/wordfenceClass.php:10045
#: lib/wordfenceClass.php:10093
#: lib/wordfenceClass.php:10016
#: lib/wordfenceClass.php:10064
msgid "We were unable to make changes to the %1$s file. It's possible WordPress cannot write to the %1$s file because of file permissions. Please verify the permissions are correct and retry the installation."
msgstr ""
#: lib/wordfenceClass.php:10109
#: lib/wordfenceClass.php:10080
msgid "We were unable to remove the <code>wordfence-waf.php</code> file in the root of the WordPress installation. It's possible WordPress cannot remove the <code>wordfence-waf.php</code> file because of file permissions. Please verify the permissions are correct and retry the removal."
msgstr ""
@@ -12561,7 +12531,7 @@ msgstr ""
#: views/scanner/issue-spamvertizeCheck.php:12
#: views/scanner/issue-spamvertizeCheck.php:19
#: views/scanner/issue-suspiciousAdminUsers.php:12
#: views/scanner/issue-suspiciousAdminUsers.php:22
#: views/scanner/issue-suspiciousAdminUsers.php:21
#: views/scanner/issue-timelimit.php:12
#: views/scanner/issue-timelimit.php:19
#: views/scanner/issue-wafStatus.php:14
@@ -12578,8 +12548,6 @@ msgstr ""
#: views/scanner/issue-wfThemeUpgrade.php:32
#: views/scanner/issue-wfUpgrade.php:15
#: views/scanner/issue-wfUpgrade.php:29
#: views/scanner/issue-wfUpgradeError.php:12
#: views/scanner/issue-wfUpgradeError.php:20
#: views/scanner/issue-wpscan_directoryList.php:14
#: views/scanner/issue-wpscan_directoryList.php:25
#: views/scanner/issue-wpscan_fullPathDiscl.php:14
@@ -12605,7 +12573,7 @@ msgstr ""
#: views/scanner/issue-publiclyAccessible.php:19
#: views/scanner/issue-skippedPaths.php:20
#: views/scanner/issue-spamvertizeCheck.php:15
#: views/scanner/issue-suspiciousAdminUsers.php:18
#: views/scanner/issue-suspiciousAdminUsers.php:17
#: views/scanner/issue-timelimit.php:15
#: views/scanner/issue-wafStatus.php:17
#: views/scanner/issue-wfPluginAbandoned.php:24
@@ -12614,7 +12582,6 @@ msgstr ""
#: views/scanner/issue-wfPluginVulnerable.php:22
#: views/scanner/issue-wfThemeUpgrade.php:23
#: views/scanner/issue-wfUpgrade.php:21
#: views/scanner/issue-wfUpgradeError.php:15
#: views/scanner/issue-wpscan_directoryList.php:19
#: views/scanner/issue-wpscan_fullPathDiscl.php:19
msgid "Mark as Fixed"
@@ -12892,10 +12859,6 @@ msgstr ""
msgid "Revoke Capabilities"
msgstr ""
#: views/scanner/issue-suspiciousAdminUsers.php:17
msgid "Acknowledge User"
msgstr ""
#: views/scanner/issue-timelimit.php:8
msgid "Time Limit"
msgstr ""
@@ -12978,7 +12941,6 @@ msgid "Plugin Upgrade"
msgstr ""
#: views/scanner/issue-wfPluginUpgrade.php:10
#: views/scanner/issue-wfUpgradeError.php:10
msgid "Ignore Update"
msgstr ""
@@ -13000,7 +12962,6 @@ msgstr ""
#: views/scanner/issue-wfPluginUpgrade.php:25
#: views/scanner/issue-wfThemeUpgrade.php:24
#: views/scanner/issue-wfUpgrade.php:22
#: views/scanner/issue-wfUpgradeError.php:16
msgid "View Updates"
msgstr ""
@@ -13050,10 +13011,6 @@ msgstr ""
msgid "New WordPress Version"
msgstr ""
#: views/scanner/issue-wfUpgradeError.php:8
msgid "Update Check Error"
msgstr ""
#: views/scanner/issue-wpscan_directoryList.php:8
msgid "Directory Listing Enabled"
msgstr ""

View File

@@ -237,7 +237,6 @@ echo wfView::create('scanner/site-cleaning-high-sense')->render();
echo wfView::create('scanner/site-cleaning-beta-sigs')->render();
echo wfView::create('scanner/no-issues')->render();
echo wfView::create('scanner/issue-wfUpgrade')->render();
echo wfView::create('scanner/issue-wfUpgradeError')->render();
echo wfView::create('scanner/issue-wfPluginUpgrade')->render();
echo wfView::create('scanner/issue-wfThemeUpgrade')->render();
echo wfView::create('scanner/issue-wfPluginRemoved')->render();

View File

@@ -78,14 +78,13 @@ class wfIssues {
'wfPluginRemoved' => wfIssues::SEVERITY_CRITICAL,
'wfPluginUpgrade' => wfIssues::SEVERITY_MEDIUM,
'wfThemeUpgrade' => wfIssues::SEVERITY_MEDIUM,
'wfUpgradeError' => wfIssues::SEVERITY_MEDIUM,
'wfUpgrade' => wfIssues::SEVERITY_HIGH,
'wpscan_directoryList' => wfIssues::SEVERITY_HIGH,
'wpscan_fullPathDiscl' => wfIssues::SEVERITY_HIGH,
);
public static function validIssueTypes() {
return array('checkHowGetIPs', 'checkSpamIP', 'commentBadURL', 'configReadable', 'coreUnknown', 'database', 'diskSpace', 'wafStatus', 'easyPassword', 'file', 'geoipSupport', 'knownfile', 'optionBadURL', 'postBadTitle', 'postBadURL', 'publiclyAccessible', 'spamvertizeCheck', 'suspiciousAdminUsers', 'timelimit', 'wfPluginAbandoned', 'wfPluginRemoved', 'wfPluginUpgrade', 'wfPluginVulnerable', 'wfThemeUpgrade', 'wfUpgradeError', 'wfUpgrade', 'wpscan_directoryList', 'wpscan_fullPathDiscl', 'skippedPaths');
return array('checkHowGetIPs', 'checkSpamIP', 'commentBadURL', 'configReadable', 'coreUnknown', 'database', 'diskSpace', 'wafStatus', 'easyPassword', 'file', 'geoipSupport', 'knownfile', 'optionBadURL', 'postBadTitle', 'postBadURL', 'publiclyAccessible', 'spamvertizeCheck', 'suspiciousAdminUsers', 'timelimit', 'wfPluginAbandoned', 'wfPluginRemoved', 'wfPluginUpgrade', 'wfPluginVulnerable', 'wfThemeUpgrade', 'wfUpgrade', 'wpscan_directoryList', 'wpscan_fullPathDiscl', 'skippedPaths');
}
public static function statusPrep(){
@@ -531,13 +530,13 @@ class wfIssues {
}
public function deleteAllUpdateIssues() {
$issues = $this->getDB()->querySelect("SELECT id, status, ignoreP, ignoreC FROM {$this->issuesTable} WHERE status = 'new' AND (type = 'wfUpgrade' OR type = 'wfUpgradeError' OR type = 'wfPluginUpgrade' OR type = 'wfThemeUpgrade')");
$issues = $this->getDB()->querySelect("SELECT id, status, ignoreP, ignoreC FROM {$this->issuesTable} WHERE status = 'new' AND (type = 'wfUpgrade' OR type = 'wfPluginUpgrade' OR type = 'wfThemeUpgrade')");
$this->clearEmailedStatus($issues);
$this->getDB()->queryWrite("DELETE FROM {$this->issuesTable} WHERE status = 'new' AND (type = 'wfUpgrade' OR type = 'wfUpgradeError' OR type = 'wfPluginUpgrade' OR type = 'wfThemeUpgrade')");
$this->getDB()->queryWrite("DELETE FROM {$this->issuesTable} WHERE status = 'new' AND (type = 'wfUpgrade' OR type = 'wfPluginUpgrade' OR type = 'wfThemeUpgrade')");
if (wfCentral::isConnected()) {
wfCentral::deleteIssueTypes(array('wfUpgrade', 'wfUpgradeError', 'wfPluginUpgrade', 'wfThemeUpgrade'));
wfCentral::deleteIssueTypes(array('wfUpgrade', 'wfPluginUpgrade', 'wfThemeUpgrade'));
}
}

View File

@@ -1889,50 +1889,36 @@ class wfScanEngine {
foreach ($this->pluginRepoStatus as $slug => $status) {
if ($status === false) {
try {
$result = plugins_api('plugin_information', array(
'slug' => $slug,
'fields' => array(
'short_description' => false,
'description' => false,
'sections' => false,
'tested' => true,
'requires' => true,
'rating' => false,
'ratings' => false,
'downloaded' => false,
'downloadlink' => false,
'last_updated' => true,
'added' => false,
'tags' => false,
'compatibility' => true,
'homepage' => true,
'versions' => false,
'donate_link' => false,
'reviews' => false,
'banners' => false,
'icons' => false,
'active_installs' => false,
'group' => false,
'contributors' => false,
),
));
unset($result->versions);
unset($result->screenshots);
$this->pluginRepoStatus[$slug] = $result;
}
catch (Exception $e) {
error_log(sprintf('Caught exception while attempting to refresh update status for slug %s: %s', $slug, $e->getMessage()));
$this->pluginRepoStatus[$slug] = false;
wfConfig::set(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_KEY, sprintf('%s [%s]', $e->getMessage(), $slug), false);
wfConfig::set(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_SLUG_KEY, $slug, false);
}
catch (Throwable $t) {
error_log(sprintf('Caught error while attempting to refresh update status for slug %s: %s', $slug, $t->getMessage()));
$this->pluginRepoStatus[$slug] = false;
wfConfig::set(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_KEY, sprintf('%s [%s]', $t->getMessage(), $slug), false);
wfConfig::set(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_SLUG_KEY, $slug, false);
}
$result = plugins_api('plugin_information', array(
'slug' => $slug,
'fields' => array(
'short_description' => false,
'description' => false,
'sections' => false,
'tested' => true,
'requires' => true,
'rating' => false,
'ratings' => false,
'downloaded' => false,
'downloadlink' => false,
'last_updated' => true,
'added' => false,
'tags' => false,
'compatibility' => true,
'homepage' => true,
'versions' => false,
'donate_link' => false,
'reviews' => false,
'banners' => false,
'icons' => false,
'active_installs' => false,
'group' => false,
'contributors' => false,
),
));
unset($result->versions);
unset($result->screenshots);
$this->pluginRepoStatus[$slug] = $result;
$this->forkIfNeeded();
}
@@ -1943,39 +1929,7 @@ class wfScanEngine {
$haveIssues = wfIssues::STATUS_SECURE;
if (!$this->isFullScan()) {
$this->deleteNewIssues(array('wfUpgradeError', 'wfUpgrade', 'wfPluginUpgrade', 'wfThemeUpgrade'));
}
if ($lastError = wfConfig::get(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_KEY)) {
$lastSlug = wfConfig::get(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_SLUG_KEY);
$longMsg = sprintf(/* translators: error message. */ __("The update check performed during the scan encountered an error: %s", 'wordfence'), esc_html($lastError));
if ($lastSlug === false) {
$longMsg .= ' ' . __('Wordfence cannot detect if the installed plugins and themes are up to date. This might be caused by a PHP compatibility issue in one or more plugins/themes.', 'wordfence');
}
else {
$longMsg .= ' ' . __('Wordfence cannot detect if this plugin/theme is up to date. This might be caused by a PHP compatibility issue in the plugin.', 'wordfence');
}
$longMsg .= ' ' . sprintf(
/* translators: Support URL. */
__('<a href="%s" target="_blank" rel="noopener noreferrer">Get more information.<span class="screen-reader-text"> (' . esc_html__('opens in new tab', 'wordfence') . ')</span></a>', 'wordfence'), wfSupportController::esc_supportURL(wfSupportController::ITEM_SCAN_RESULT_UPDATE_CHECK_FAILED));
$ignoreKey = ($lastSlug === false ? 'wfUpgradeErrorGeneral' : sprintf('wfUpgradeError-%s', $lastSlug));
$added = $this->addIssue(
'wfUpgradeError',
wfIssues::SEVERITY_MEDIUM,
$ignoreKey,
$ignoreKey,
($lastSlug === false ? __("Update Check Encountered Error", 'wordfence') : sprintf(/* translators: plugin/theme slug. */ __("Update Check Encountered Error on '%s'", 'wordfence'), esc_html($lastSlug))),
$longMsg,
array()
);
if ($added == wfIssues::ISSUE_ADDED || $added == wfIssues::ISSUE_UPDATED) {
$haveIssues = wfIssues::STATUS_PROBLEM;
}
else if ($haveIssues != wfIssues::STATUS_PROBLEM && ($added == wfIssues::ISSUE_IGNOREP || $added == wfIssues::ISSUE_IGNOREC)) {
$haveIssues = wfIssues::STATUS_IGNORED;
}
$this->deleteNewIssues(array('wfUpgrade', 'wfPluginUpgrade', 'wfThemeUpgrade'));
}
// WordPress core updates needed

View File

@@ -73,8 +73,8 @@ class wfScanMonitor {
if ($lastAttempt === null || $now - $lastAttempt < self::SCAN_START_TIMEOUT)
return;
$lastSuccess = wfConfig::get(self::CONFIG_LAST_SUCCESS);
self::setRemainingResumeAttempts(--$remainingAttempts);
if ($lastSuccess === null || $lastAttempt > $lastSuccess) {
self::setRemainingResumeAttempts(--$remainingAttempts);
wordfence::status(2, 'info', sprintf(__('Attempting to resume scan stage (%d attempt(s) remaining)...', 'wordfence'), $remainingAttempts));
self::resumeScan();
}

View File

@@ -149,7 +149,6 @@ class wfSupportController {
const ITEM_SCAN_RESULT_PUBLIC_CONFIG = 'scan-result-public-config';
const ITEM_SCAN_RESULT_PLUGIN_ABANDONED = 'scan-result-plugin-abandoned';
const ITEM_SCAN_RESULT_PLUGIN_REMOVED = 'scan-result-plugin-removed';
const ITEM_SCAN_RESULT_UPDATE_CHECK_FAILED = 'scan-result-update-check-failed';
const ITEM_SCAN_RESULT_OPTION_MALWARE_URL = 'scan-result-option-malware-url';
const ITEM_SCAN_RESULT_GEOIP_UPDATE = 'scan-result-geoip-update';
const ITEM_SCAN_RESULT_WAF_DISABLED = 'scan-result-waf-disabled';
@@ -342,7 +341,6 @@ class wfSupportController {
case self::ITEM_SCAN_RESULT_PUBLIC_CONFIG:
case self::ITEM_SCAN_RESULT_PLUGIN_ABANDONED:
case self::ITEM_SCAN_RESULT_PLUGIN_REMOVED:
case self::ITEM_SCAN_RESULT_UPDATE_CHECK_FAILED:
case self::ITEM_SCAN_RESULT_OPTION_MALWARE_URL:
case self::ITEM_SCAN_RESULT_GEOIP_UPDATE:
case self::ITEM_SCAN_RESULT_WAF_DISABLED:

View File

@@ -6,9 +6,6 @@ class wfUpdateCheck {
const VULN_SEVERITY_MEDIUM = 40;
const VULN_SEVERITY_LOW = 1;
const VULN_SEVERITY_NONE = 0;
const LAST_UPDATE_CHECK_ERROR_KEY = 'lastUpdateCheckError';
const LAST_UPDATE_CHECK_ERROR_SLUG_KEY = 'lastUpdateCheckErrorSlug';
private $needs_core_update = false;
private $core_update_version = 0;
@@ -172,11 +169,6 @@ class wfUpdateCheck {
* @return $this
*/
public function checkAllUpdates($useCachedValued = true) {
if (!$useCachedValued) {
wfConfig::remove(self::LAST_UPDATE_CHECK_ERROR_KEY);
wfConfig::remove(self::LAST_UPDATE_CHECK_ERROR_SLUG_KEY);
}
return $this->checkCoreUpdates($useCachedValued)
->checkPluginUpdates($useCachedValued)
->checkThemeUpdates($useCachedValued);
@@ -197,7 +189,7 @@ class wfUpdateCheck {
require_once(ABSPATH . 'wp-admin/includes/update.php');
}
include(ABSPATH . WPINC . '/version.php'); /** @var $wp_version */
include(ABSPATH . WPINC . '/version.php'); //defines $wp_version
$update_core = get_preferred_from_update_core();
if ($useCachedValued && isset($update_core->last_checked) && isset($update_core->version_checked) && 12 * HOUR_IN_SECONDS > (time() - $update_core->last_checked) && $update_core->version_checked == $wp_version) { //Duplicate of _maybe_update_core, which is a private call
@@ -284,19 +276,7 @@ class wfUpdateCheck {
return $update_plugins;
if (!function_exists('wp_update_plugins'))
require_once(ABSPATH . WPINC . '/update.php');
try {
wp_update_plugins();
}
catch (Exception $e) {
wfConfig::set(self::LAST_UPDATE_CHECK_ERROR_KEY, $e->getMessage(), false);
wfConfig::remove(self::LAST_UPDATE_CHECK_ERROR_SLUG_KEY);
error_log('Caught exception while attempting to refresh plugin update status: ' . $e->getMessage());
}
catch (Throwable $t) {
wfConfig::set(self::LAST_UPDATE_CHECK_ERROR_KEY, $t->getMessage(), false);
wfConfig::remove(self::LAST_UPDATE_CHECK_ERROR_SLUG_KEY);
error_log('Caught error while attempting to refresh plugin update status: ' . $t->getMessage());
}
wp_update_plugins();
return get_site_transient('update_plugins');
}
@@ -313,7 +293,7 @@ class wfUpdateCheck {
self::requirePluginsApi();
$update_plugins = $this->fetchPluginUpdates($useCachedValued);
$update_plugins = $this->fetchPluginUpdates();
//Get the full plugin list
if (!function_exists('get_plugins')) {
@@ -377,18 +357,7 @@ class wfUpdateCheck {
//Do nothing, use cached value
}
else {
try {
wp_update_themes();
}
catch (Exception $e) {
wfConfig::set(self::LAST_UPDATE_CHECK_ERROR_KEY, $e->getMessage(), false);
error_log('Caught exception while attempting to refresh theme update status: ' . $e->getMessage());
}
catch (Throwable $t) {
wfConfig::set(self::LAST_UPDATE_CHECK_ERROR_KEY, $t->getMessage(), false);
error_log('Caught error while attempting to refresh theme update status: ' . $t->getMessage());
}
wp_update_themes();
$update_themes = get_site_transient('update_themes');
}

View File

@@ -6,5 +6,5 @@ $wfPHPMinimumVersion = '5.5.0'; //The currently supported minimum
$wfOpenSSLDeprecatingVersion = '1.0.1';
$wfOpenSSLMinimumVersion = '1.0.1';
$wfWordPressDeprecatingVersion = '4.7.0';
$wfWordPressDeprecatingVersion = '4.4.0';
$wfWordPressMinimumVersion = '3.9.0';

View File

@@ -6098,7 +6098,7 @@ HTML;
'loadTwoFactor', 'sendTestEmail',
'email_summary_email_address_debug', 'unblockNetwork',
'sendDiagnostic', 'saveDisclosureState', 'saveWAFConfig', 'updateWAFRules', 'loadLiveTraffic', 'whitelistWAFParamKey',
'disableDirectoryListing', 'fixFPD', 'deleteAdminUser', 'revokeAdminUser', 'acknowledgeAdminUser',
'disableDirectoryListing', 'fixFPD', 'deleteAdminUser', 'revokeAdminUser',
'hideFileHtaccess', 'saveDebuggingConfig',
'whitelistBulkDelete', 'whitelistBulkEnable', 'whitelistBulkDisable',
'dismissNotification', 'utilityScanForBlacklisted', 'dashboardShowMore',
@@ -7608,35 +7608,6 @@ SQL
'user_login' => $userLogin,
);
}
public static function ajax_acknowledgeAdminUser_callback() {
$issueID = absint(!empty($_POST['issueID']) ? $_POST['issueID'] : 0);
$wfIssues = new wfIssues();
$issue = $wfIssues->getIssueByID($issueID);
if (!$issue) {
return array('errorMsg' => __("We could not find that issue in the database.", 'wordfence'));
}
$data = $issue['data'];
if (empty($data['userID'])) {
return array('errorMsg' => __("We could not find that user in the database.", 'wordfence'));
}
$user = new WP_User($data['userID']);
if (!$user->exists()) {
return array('errorMsg' => __("We could not find that user in the database.", 'wordfence'));
}
$userLogin = $user->user_login;
$adminUsers = new wfAdminUserMonitor();
$adminUsers->addAdmin($data['userID']);
$wfIssues->deleteIssue($issueID);
wfScanEngine::refreshScanNotification($wfIssues);
return array(
'ok' => 1,
'user_login' => $userLogin,
);
}
/**
*

View File

@@ -27,7 +27,7 @@ else {
define('WORDFENCE_LS_FROM_CORE', ($wfCoreActive && isset($wfCoreLoading) && $wfCoreLoading));
define('WORDFENCE_LS_VERSION', '1.1.4');
define('WORDFENCE_LS_BUILD_NUMBER', '1695657196');
define('WORDFENCE_LS_BUILD_NUMBER', '1690810710');
define('WORDFENCE_LS_PLUGIN_BASENAME', plugin_basename(__FILE__));

View File

@@ -4,7 +4,7 @@ Tags: security, waf, malware, 2fa, two factor, login security, firewall, brute f
Requires at least: 3.9
Requires PHP: 5.5
Tested up to: 6.3
Stable tag: 7.10.4
Stable tag: 7.10.3
License: GPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
@@ -189,21 +189,13 @@ Secure your website with Wordfence.
== Changelog ==
= 7.10.4 - September 25, 2023 =
* Improvement: "Admin created outside of WordPress" scan results may now be reviewed and approved
* Improvement: The WAF storage engine may now be specified by setting the environmental variable "WFWAF_STORAGE_ENGINE"
* Improvement: Detect when a plugin or theme with a custom update handler is broken and blocking update version checks
* Change: Deprecated support for WordPress versions lower than 4.7.0
* Change: Exclude parse errors of a damaged compiled rules file from reporting
* Fix: Suppress PHP notices related to rule loading when running WP-CLI
* Fix: Fixed an issue with the scan monitor cron that could leave it running unnecessarily
= 7.10.3 - July 31, 2023 =
* Improvement: Updated GeoIP database
* Fix: Added missing text domain to translation function call
* Fix: Corrected inconsistent styling of switch controls
* Change: Made MySQLi storage engine the default for Flywheel hosted sites
= 7.10.2 - July 17, 2023 =
* Fix: Prevented bundled sodium_compat library from conflicting with versions included with older WordPress versions

View File

@@ -17,7 +17,8 @@ class wfWAFStorageFile implements wfWAFStorageInterface {
return true;
}
if (wfWAFUtils::isCli()) {
$sapi = @php_sapi_name();
if ($sapi == "cli") {
return false;
}
return true;

View File

@@ -1229,9 +1229,6 @@ class wfWAFUtils {
public static function isVersionBelow($target, $compared) {
return $compared === null || version_compare($compared, $target, '<');
}
public static function isCli() {
return (@php_sapi_name()==='cli') || !array_key_exists('REQUEST_METHOD', $_SERVER);
}
}
}

View File

@@ -328,11 +328,6 @@ auEa+7b+FGTKs7dUo2BNGR7OVifK4GZ8w/ajS0TelhrSRi3BBQCGXLzUO/UURUAh
public function loadRules() {
$storageEngine = $this->getStorageEngine();
if ($storageEngine instanceof wfWAFStorageFile) {
$logLevel = error_reporting();
if (wfWAFUtils::isCli()) { //Done to suppress errors from WP-CLI when the WAF is run on environments that have a server level constant to use the MySQLi storage engine that is not in place when running from the CLI
error_reporting(0);
}
// Acquire lock on this file so we're not including it while it's being written in another process.
$handle = fopen($storageEngine->getRulesFile(), 'r');
$locked = $handle !== false && flock($handle, LOCK_SH);
@@ -342,10 +337,6 @@ auEa+7b+FGTKs7dUo2BNGR7OVifK4GZ8w/ajS0TelhrSRi3BBQCGXLzUO/UURUAh
flock($handle, LOCK_UN);
if ($handle !== false)
fclose($handle);
if (wfWAFUtils::isCli()) {
error_reporting($logLevel);
}
} else {
$wafRules = $storageEngine->getRules();
if (is_array($wafRules)) {

View File

@@ -14,7 +14,6 @@ echo wfView::create('scanner/issue-base', array(
'detailControls' => array(
'<a href="#" class="wf-btn wf-btn-default wf-btn-callout-subtle" onclick="WFAD.deleteAdminUser(\'${id}\'); return false;" role="button">' . __('Delete User', 'wordfence') . '</a>',
'<a href="#" class="wf-btn wf-btn-default wf-btn-callout-subtle" onclick="WFAD.revokeAdminUser(\'${id}\'); return false;" role="button">' . __('Revoke Capabilities', 'wordfence') . '</a>',
'<a href="#" class="wf-btn wf-btn-default wf-btn-callout-subtle" onclick="WFAD.acknowledgeAdminUser(\'${id}\'); return false;" role="button">' . __('Acknowledge User', 'wordfence') . '</a>',
'<a href="#" class="wf-btn wf-btn-default wf-btn-callout-subtle wf-issue-control-mark-fixed" role="button">' . __('Mark as Fixed', 'wordfence') . '</a>',
),
'textOutput' => (isset($textOutput) ? $textOutput : null),

View File

@@ -1,22 +0,0 @@
<?php
if (!defined('WORDFENCE_VERSION')) { exit; }
/**
* Presents an issue template.
*/
echo wfView::create('scanner/issue-base', array(
'internalType' => 'wfUpgradeError',
'displayType' => __('Update Check Error', 'wordfence'),
'iconSVG' => '<svg viewBox="0 0 20 20"><g><path d="M13.11 4.36L9.87 7.6 8 5.73l3.24-3.24c.35-.34 1.05-.2 1.56.32.52.51.66 1.21.31 1.55zm-8 1.77l.91-1.12 9.01 9.01-1.19.84c-.71.71-2.63 1.16-3.82 1.16H6.14L4.9 17.26c-.59.59-1.54.59-2.12 0-.59-.58-.59-1.53 0-2.12l1.24-1.24v-3.88c0-1.13.4-3.19 1.09-3.89zm7.26 3.97l3.24-3.24c.34-.35 1.04-.21 1.55.31.52.51.66 1.21.31 1.55l-3.24 3.25z"/></g></svg>',
'summaryControls' => array(wfView::create('scanner/issue-control-ignore', array('ignoreC' => __('Ignore Update', 'wordfence'))), wfView::create('scanner/issue-control-show-details')),
'detailPairs' => array(
__('Details', 'wordfence') => '{{html longMsg}}',
),
'detailControls' => array(
'<a href="#" class="wf-btn wf-btn-default wf-btn-callout-subtle wf-issue-control-mark-fixed" role="button">' . __('Mark as Fixed', 'wordfence') . '</a>',
'<a href="' . esc_url(wfUtils::wpAdminURL('update-core.php')) . '" class="wf-btn wf-btn-default wf-btn-callout-subtle wf-issue-control-view-updates">' . __('View Updates', 'wordfence') . '</a>',
),
'textOutput' => (isset($textOutput) ? $textOutput : null),
'textOutputDetailPairs' => array(
__('Details', 'wordfence') => '$longMsg',
),
))->render();

View File

@@ -837,10 +837,8 @@ if (!is_dir(WFWAF_LOG_PATH)) {
try {
if (!defined('WFWAF_STORAGE_ENGINE') && isset($_SERVER['WFWAF_STORAGE_ENGINE'])) {
define('WFWAF_STORAGE_ENGINE', $_SERVER['WFWAF_STORAGE_ENGINE']);
}
else if (!defined('WFWAF_STORAGE_ENGINE') && (WF_IS_WP_ENGINE || WF_IS_FLYWHEEL)) {
if (!defined('WFWAF_STORAGE_ENGINE') && (WF_IS_WP_ENGINE || WF_IS_FLYWHEEL)) {
define('WFWAF_STORAGE_ENGINE', 'mysqli');
}
@@ -1021,15 +1019,10 @@ catch (Exception $e) { // In PHP 5, Throwable does not exist
);
}
catch (Throwable $t) {
error_log("An unexpected exception occurred during WAF execution: {$t}");
if (class_exists('ParseError') && $t instanceof ParseError) {
//Do nothing
}
else {
$wf_waf_failure = array(
'throwable' => $t
);
}
error_log("An unexpected error occurred during WAF execution: {$t}");
$wf_waf_failure = array(
'throwable' => $t
);
}
if (wfWAF::getInstance() === null) {
require_once __DIR__ . '/dummy.php';

View File

@@ -4,7 +4,7 @@ Plugin Name: Wordfence Security
Plugin URI: http://www.wordfence.com/
Description: Wordfence Security - Anti-virus, Firewall and Malware Scan
Author: Wordfence
Version: 7.10.4
Version: 7.10.3
Author URI: http://www.wordfence.com/
Text Domain: wordfence
Domain Path: /languages
@@ -38,8 +38,8 @@ if(defined('WP_INSTALLING') && WP_INSTALLING){
if (!defined('ABSPATH')) {
exit;
}
define('WORDFENCE_VERSION', '7.10.4');
define('WORDFENCE_BUILD_NUMBER', '1695657196');
define('WORDFENCE_VERSION', '7.10.3');
define('WORDFENCE_BUILD_NUMBER', '1690810710');
define('WORDFENCE_BASENAME', function_exists('plugin_basename') ? plugin_basename(__FILE__) :
basename(dirname(__FILE__)) . '/' . basename(__FILE__));