Simple Custom CSS and JS Security & Risk Analysis

wordpress.org/plugins/custom-css-js

Easily add Custom CSS or JS to your website with an awesome editor.

700K active installs v3.52 PHP 5.2.4+ WP 3.0.1+ Updated Mar 6, 2026
add-stylecustom-csscustom-jscustomize-themesite-css
100
A · Safe
CVEs total1
Unpatched0
Last CVEJul 24, 2017
Safety Verdict

Is Simple Custom CSS and JS Safe to Use in 2026?

Generally Safe

Score 100/100

Simple Custom CSS and JS has a strong security track record. Known vulnerabilities have been patched promptly.

1 known CVELast CVE: Jul 24, 2017Updated 28d ago
Risk Assessment

The "custom-css-js" plugin, version 3.52, exhibits a mixed security posture. On the positive side, the plugin demonstrates good practices by utilizing prepared statements for all SQL queries and implementing nonce and capability checks on its entry points, which are limited to a single AJAX handler. It also avoids external HTTP requests and bundled libraries. However, several concerns warrant attention. The presence of the `unserialize` function is a significant risk, as it can lead to remote code execution if untrusted data is passed to it. Furthermore, a substantial percentage of output is not properly escaped, increasing the risk of Cross-Site Scripting (XSS) vulnerabilities. The taint analysis revealed multiple flows with unsanitized paths, suggesting potential for data manipulation or injection, although no critical or high-severity issues were flagged in this specific analysis. The plugin's vulnerability history, though dated with its last known medium severity XSS vulnerability in 2017, indicates a past susceptibility to XSS. The absence of any recently patched vulnerabilities is encouraging, but the historical pattern of XSS and the current code signals of insufficient output escaping are weaknesses that could be exploited.

Key Concerns

  • Dangerous function unserialize detected
  • High percentage of unescaped output detected
  • Taint analysis shows unsanitized paths
  • Historical medium severity XSS vulnerability
Vulnerabilities
1

Simple Custom CSS and JS Security Vulnerabilities

CVEs by Year

1 CVE in 2017
2017
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2017-2285medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Simple Custom CSS and JS <= 3.3 - Cross-Site Scripting

Jul 24, 2017 Patched in 3.4 (2374d)
Code Analysis
Analyzed Mar 16, 2026

Simple Custom CSS and JS Code Analysis

Dangerous Functions
1
Raw SQL Queries
0
2 prepared
Unescaped Output
63
33 escaped
Nonce Checks
6
Capability Checks
3
File Operations
7
External Requests
0
Bundled Libraries
0

Dangerous Functions Found

unserialize$options = @unserialize( $options['options'][0] );includes\admin-screens.php:309

SQL Query Safety

100% prepared2 total queries

Output Escaping

34% escaped96 total outputs
Data Flows
3 unsanitized

Data Flow Analysis

8 flows3 with unsanitized paths
current_screen_post (includes\admin-screens.php:635)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Simple Custom CSS and JS Attack Surface

Entry Points1
Unprotected0

AJAX Handlers 1

authwp_ajax_ccj_dismissincludes\admin-warnings.php:23
WordPress Hooks 26
actioninitcustom-css-js.php:74
actioninitcustom-css-js.php:79
actionwp_enqueue_scriptscustom-css-js.php:100
actionenqueue_block_assetscustom-css-js.php:104
filterquads_meta_box_post_typescustom-css-js.php:358
actionadmin_menuincludes\admin-config.php:42
actionadmin_enqueue_scriptsincludes\admin-config.php:43
actionccj_settings_formincludes\admin-config.php:46
filterccj_settings_defaultincludes\admin-config.php:47
filterccj_settings_saveincludes\admin-config.php:48
actionadmin_noticesincludes\admin-notices.php:35
actionmanage_custom-css-js_posts_custom_columnincludes\admin-screens.php:77
filterlist_table_primary_columnincludes\admin-screens.php:78
filtermanage_edit-custom-css-js_sortable_columnsincludes\admin-screens.php:79
actionposts_orderbyincludes\admin-screens.php:80
actionposts_join_pagedincludes\admin-screens.php:81
actionposts_where_pagedincludes\admin-screens.php:82
filterpost_row_actionsincludes\admin-screens.php:83
filterparse_queryincludes\admin-screens.php:84
filterwp_statuses_get_supported_post_typesincludes\admin-screens.php:85
actioncurrent_screenincludes\admin-screens.php:87
actionadmin_initincludes\admin-screens.php:89
actionadmin_headincludes\admin-screens.php:325
actionadmin_headincludes\admin-screens.php:329
filteruse_block_editor_for_postincludes\admin-screens.php:1793
filteruse_block_editor_for_post_typeincludes\admin-screens.php:1794
Maintenance & Trust

Simple Custom CSS and JS Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedMar 6, 2026
PHP min version5.2.4
Downloads10.1M

Community Trust

Rating88/100
Number of ratings101
Active installs700K
Developer Profile

Simple Custom CSS and JS Developer Profile

SilkyPress

5 plugins · 729K total installs

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

How We Detect Simple Custom CSS and JS

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/custom-css-js/upload/

HTML / DOM Fingerprints

HTML Comments
<!-- start Simple Custom CSS and JS --><!-- end Simple Custom CSS and JS -->
Data Attributes
data-ccj-id
FAQ

Frequently Asked Questions about Simple Custom CSS and JS