Options for Twenty Twenty-One Security & Risk Analysis

wordpress.org/plugins/options-for-twenty-twenty-one

Adds powerful customizer options to modify all aspects of the default WordPress theme Twenty Twenty-One.

7K active installs v1.7.9 PHP 5.6+ WP 4.6+ Updated Dec 12, 2025
changecustomizemodifytwenty-twenty-onetwentytwentyone
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Options for Twenty Twenty-One Safe to Use in 2026?

Generally Safe

Score 100/100

Options for Twenty Twenty-One has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 3mo ago
Risk Assessment

The "options-for-twenty-twenty-one" plugin exhibits a generally strong security posture based on the provided static analysis. The absence of dangerous functions, file operations, external HTTP requests, and the consistent use of prepared statements for SQL queries are positive indicators. The overwhelming majority of output is properly escaped, and the plugin avoids bundled libraries, reducing the risk of known vulnerabilities in third-party code. The vulnerability history is also clean, with no recorded CVEs, suggesting a history of secure development or effective patching.

However, a significant concern arises from the attack surface analysis. The plugin exposes one AJAX handler that lacks authentication checks. This is a critical vulnerability vector, as it could allow unauthenticated users to trigger potentially harmful actions or access sensitive information. While taint analysis did not reveal any unsanitized paths, the presence of an unprotected entry point significantly elevates the risk profile. The plugin also only has one nonce check, which might be insufficient if the unprotected AJAX handler is not adequately protected by other means.

In conclusion, while the plugin demonstrates good coding practices in many areas and has a clean vulnerability history, the single unprotected AJAX handler represents a critical flaw that needs immediate attention. This single oversight overshadows the otherwise positive security indicators. Addressing this vulnerability is paramount to securing the plugin against potential exploitation.

Key Concerns

  • Unprotected AJAX handler
  • Limited nonce checks
Vulnerabilities
None known

Options for Twenty Twenty-One Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 17, 2026

Options for Twenty Twenty-One Code Analysis

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

Output Escaping

99% escaped395 total outputs
Attack Surface
1 unprotected

Options for Twenty Twenty-One Attack Surface

Entry Points1
Unprotected1

AJAX Handlers 1

authwp_ajax_dismiss_oftto_notice_handleroptions-for-twenty-twenty-one.php:48
WordPress Hooks 16
filterplugin_row_metaincludes\class-oftto-common.php:287
actioncustomize_registeroptions-for-twenty-twenty-one.php:36
actionwidgets_initoptions-for-twenty-twenty-one.php:37
actioncustomize_preview_initoptions-for-twenty-twenty-one.php:38
actionafter_setup_themeoptions-for-twenty-twenty-one.php:42
filterpre_http_requestoptions-for-twenty-twenty-one.php:43
actioncustomize_controls_enqueue_scriptsoptions-for-twenty-twenty-one.php:44
actionadmin_noticesoptions-for-twenty-twenty-one.php:47
actioncustomize_controls_enqueue_scriptsoptions-for-twenty-twenty-one.php:49
actionwp_headoptions-for-twenty-twenty-one.php:53
actionwp_footeroptions-for-twenty-twenty-one.php:54
actioncustomize_registeroptions-for-twenty-twenty-one.php:58
filterwalker_nav_menu_start_eloptions-for-twenty-twenty-one.php:3704
filtergettextoptions-for-twenty-twenty-one.php:3945
filtergettextoptions-for-twenty-twenty-one.php:4117
actionadmin_noticesoptions-for-twenty-twenty-one.php:4526
Maintenance & Trust

Options for Twenty Twenty-One Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedDec 12, 2025
PHP min version5.6
Downloads238K

Community Trust

Rating98/100
Number of ratings64
Active installs7K
Developer Profile

Options for Twenty Twenty-One Developer Profile

Oliver Campion

12 plugins · 43K total installs

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

How We Detect Options for Twenty Twenty-One

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/options-for-twenty-twenty-one/js/customize-preview.js/wp-content/plugins/options-for-twenty-twenty-one/js/customize-controls.js/wp-content/plugins/options-for-twenty-twenty-one/css/frontend.css/wp-content/plugins/options-for-twenty-twenty-one/css/frontend.css.map/wp-content/plugins/options-for-twenty-twenty-one/css/frontend.css
Script Paths
/wp-content/plugins/options-for-twenty-twenty-one/js/customize-preview.js/wp-content/plugins/options-for-twenty-twenty-one/js/customize-controls.js
Version Parameters
options-for-twenty-twenty-one/js/customize-preview.js?ver=options-for-twenty-twenty-one/js/customize-controls.js?ver=options-for-twenty-twenty-one/css/frontend.css?ver=

HTML / DOM Fingerprints

CSS Classes
oftto-body-font-sizeoftto-remove-link-underlines
Data Attributes
data-oftto-body-font-size
JS Globals
oftto_customize_preview
FAQ

Frequently Asked Questions about Options for Twenty Twenty-One