Catch Dark Mode Security & Risk Analysis

wordpress.org/plugins/catch-dark-mode

Catch Dark Mode is a Free Dark Mode WordPress plugin that allows you to enable the dark mode option on your WordPress site for your visitors.

20 active installs v2.2 PHP + WP 5.9+ Updated Jan 26, 2026
colorcssdarkmode
95
A · Safe
CVEs total2
Unpatched0
Last CVESep 16, 2025
Safety Verdict

Is Catch Dark Mode Safe to Use in 2026?

Generally Safe

Score 95/100

Catch Dark Mode has a strong security track record. Known vulnerabilities have been patched promptly. It's a solid choice for most WordPress installations.

2 known CVEsLast CVE: Sep 16, 2025Updated 3mo ago
Risk Assessment

The "catch-dark-mode" v2.2 plugin exhibits a mixed security posture. On the positive side, it demonstrates good practices in handling SQL queries exclusively with prepared statements and a very high percentage of properly escaped output, which significantly reduces the risk of common web vulnerabilities like SQL injection and cross-site scripting. The absence of file operations and external HTTP requests further strengthens its security profile.

However, there are notable areas of concern. The plugin has two AJAX handlers, and critically, both lack authentication checks. This presents a significant attack surface, as any unauthenticated user could potentially trigger these handlers, leading to unintended actions or information disclosure if not carefully implemented. The presence of two known high-severity vulnerabilities in its history, specifically related to "Improper Control of the Filename for Include/Require Statement" (PHP Remote File Inclusion), is a major red flag. While currently unpatched CVEs are zero, this historical pattern suggests a past susceptibility to critical vulnerabilities that could be exploited if a similar flaw is reintroduced in future versions or if the identified vulnerabilities were in fact severe and had significant impact.

In conclusion, while the plugin has strengths in its database and output handling, the lack of authentication on AJAX endpoints and the history of severe RFI vulnerabilities necessitate caution. The potential for an attacker to interact with critical functionality without proper authorization poses a direct and immediate risk. The historical vulnerability pattern, even if currently patched, indicates a potential for critical security flaws within the codebase that require ongoing vigilance. Further investigation into the specifics of past vulnerabilities and a thorough review of the unauthenticated AJAX handlers would be highly recommended.

Key Concerns

  • Unprotected AJAX handlers found
  • History of 2 high severity RFI vulnerabilities
Vulnerabilities
2 published

Catch Dark Mode Security Vulnerabilities

CVEs by Year

2 CVEs in 2025
2025
Patched Has unpatched

Severity Breakdown

High
2

2 total CVEs

CVE-2025-10143high · 7.5Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion')

Catch Dark Mode <= 2.0 - Authenticated (Contributor+) Local File Inclusion

Sep 16, 2025 Patched in 2.0.1 (1d)
CVE-2025-32154high · 8.8Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion')

Catch Dark Mode <= 2.0.1 - Authenticated (Contributor+) Local File Inclusion

Apr 4, 2025 Patched in 2.1 (279d)
Version History

Catch Dark Mode Release Timeline

Code Analysis
Analyzed Mar 16, 2026

Catch Dark Mode Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
2
104 escaped
Nonce Checks
2
Capability Checks
1
File Operations
0
External Requests
0
Bundled Libraries
0

Output Escaping

98% escaped106 total outputs
Attack Surface
2 unprotected

Catch Dark Mode Attack Surface

Entry Points3
Unprotected2

AJAX Handlers 2

authwp_ajax_dynamic_cssincludes\class-dark-mode.php:180
noprivwp_ajax_dynamic_cssincludes\class-dark-mode.php:181

Shortcodes 1

[catch_dark_mode] plugin.php:83
WordPress Hooks 15
actionplugins_loadedincludes\class-dark-mode.php:138
actionadmin_enqueue_scriptsincludes\class-dark-mode.php:152
actionadmin_enqueue_scriptsincludes\class-dark-mode.php:153
actionadmin_menuincludes\class-dark-mode.php:155
actionadmin_initincludes\class-dark-mode.php:157
filterplugin_action_linksincludes\class-dark-mode.php:159
filterplugin_row_metaincludes\class-dark-mode.php:161
actionwp_enqueue_scriptsincludes\class-dark-mode.php:176
actionwp_enqueue_scriptsincludes\class-dark-mode.php:177
actionwp_enqueue_scriptsincludes\class-dark-mode.php:179
actionwp_footerincludes\class-dark-mode.php:184
filterlanguage_attributesincludes\class-dark-mode.php:188
filterjetpack_implode_frontend_cssincludes\jetpack-compatibility.php:8
actionwp_footerincludes\jetpack-compatibility.php:17
actionadmin_noticesplugin.php:147
Maintenance & Trust

Catch Dark Mode Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedJan 26, 2026
PHP min version
Downloads11K

Community Trust

Rating0/100
Number of ratings0
Active installs20
Developer Profile

Catch Dark Mode Developer Profile

Catch Themes

156 plugins · 226K total installs

79
trust score
Avg Security Score
100/100
Avg Patch Time
251 days
View full developer profile
Detection Fingerprints

How We Detect Catch Dark Mode

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/catch-dark-mode/assets/css/admin.css/wp-content/plugins/catch-dark-mode/assets/css/catch-dark-mode.css/wp-content/plugins/catch-dark-mode/assets/js/catch-dark-mode.js/wp-content/plugins/catch-dark-mode/assets/js/catch-dark-mode-admin.js
Script Paths
https://catchplugins.com/plugins/catch-dark-mode/assets/js/catch-dark-mode.js
Version Parameters
catch-dark-mode/assets/css/catch-dark-mode.css?ver=catch-dark-mode/assets/js/catch-dark-mode.js?ver=

HTML / DOM Fingerprints

CSS Classes
catch-dark-mode-toggledark-mode-activecatch-dark-mode-wrapcatch-dark-mode-floating
HTML Comments
<!-- Catch Dark Mode Floating Switch --><!-- Catch Dark Mode Admin Settings -->
Data Attributes
data-catch-dark-mode-floating-switchdata-catch-dark-mode-position
JS Globals
catch_dark_mode_admin_paramscatch_dark_mode_params
Shortcode Output
[catch_dark_mode]
FAQ

Frequently Asked Questions about Catch Dark Mode