Klaviyo Security & Risk Analysis

wordpress.org/plugins/klaviyo

Klaviyo for WooCommerce

100K active installs v3.7.3 PHP 7.0+ WP 5.2+ Updated Mar 9, 2026
analyticsemailklaviyomarketingwoocommerce
99
A · Safe
CVEs total2
Unpatched0
Last CVEMar 20, 2023
Safety Verdict

Is Klaviyo Safe to Use in 2026?

Generally Safe

Score 99/100

Klaviyo has a strong security track record. Known vulnerabilities have been patched promptly.

2 known CVEsLast CVE: Mar 20, 2023Updated 25d ago
Risk Assessment

The Klaviyo plugin v3.7.3 presents a mixed security posture. On the positive side, the plugin demonstrates good practices by utilizing prepared statements for all SQL queries and generally performs robust output escaping. The absence of file operations and reliance on secure coding patterns for external HTTP requests are also strengths. However, the presence of an unprotected AJAX handler represents a significant concern, creating a direct entry point for potential attacks without proper authorization checks. The vulnerability history, with two previously identified medium-severity Cross-Site Scripting (XSS) vulnerabilities, indicates a past susceptibility to input manipulation, even though these are currently patched. The pattern of XSS vulnerabilities suggests a need for continued vigilance in sanitizing user-supplied data across all input vectors.

Key Concerns

  • Unprotected AJAX handler
  • Two medium severity CVEs historically
Vulnerabilities
2

Klaviyo Security Vulnerabilities

CVEs by Year

2 CVEs in 2023
2023
Patched Has unpatched

Severity Breakdown

Medium
2

2 total CVEs

CVE-2023-0874medium · 4.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Klaviyo <= 3.0.9 - Authenticated (Admin+) Stored Cross-Site Scripting

Mar 20, 2023 Patched in 3.0.10 (309d)
CVE-2023-25456medium · 4.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Klaviyo <= 3.0.7 - Authenticated (Administrator+) Stored Cross-Site Scripting

Mar 13, 2023 Patched in 3.0.8 (316d)
Code Analysis
Analyzed Mar 16, 2026

Klaviyo Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
4 prepared
Unescaped Output
8
99 escaped
Nonce Checks
2
Capability Checks
3
File Operations
0
External Requests
4
Bundled Libraries
0

SQL Query Safety

100% prepared4 total queries

Output Escaping

93% escaped107 total outputs
Data Flows
All sanitized

Data Flow Analysis

2 flows
handle_feedback_response (includes\class-wck-install.php:151)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
1 unprotected

Klaviyo Attack Surface

Entry Points2
Unprotected1

AJAX Handlers 2

authwp_ajax_klaviyo_handle_feedback_responseincludes\class-wck-install.php:29
authwp_ajax_klaviyo_dismiss_review_promptincludes\class-wck-install.php:30
WordPress Hooks 34
actioninitinc\kla-admin.php:46
actionplugins_loadedinc\kla-admin.php:47
actionadmin_menuinc\kla-admin.php:98
actionadmin_noticesinc\kla-admin.php:100
actionadmin_noticesinc\kla-admin.php:102
actionadmin_menuinc\kla-admin.php:104
actionwp_enqueue_scriptsinc\kla-analytics.php:35
actionwp_enqueue_scriptsinc\kla-analytics.php:41
filterscript_loader_taginc\kla-analytics.php:88
actionin_plugin_update_message-klaviyo/klaviyo.phpincludes\admin\class-kl-plugins-screen-updates.php:39
actionwoocommerce_store_api_checkout_order_processedincludes\blocks\StoreApi.php:45
actionwoocommerce_store_api_checkout_update_order_from_requestincludes\blocks\StoreApi.php:53
actionklaviyo_schedule_consent_eventincludes\blocks\StoreApi.php:55
actionrest_api_initincludes\class-wck-api.php:501
actionset_site_transient_update_pluginsincludes\class-wck-api.php:616
actionadmin_initincludes\class-wck-install.php:26
actionadmin_noticesincludes\class-wck-install.php:31
actionadmin_noticesincludes\class-wpklaviyo.php:48
actionwidgets_initincludes\class-wpklaviyo.php:50
actionwoocommerce_add_to_cartincludes\wck-added-to-cart.php:13
actionwp_enqueue_scriptsincludes\wck-cart-functions.php:194
actionwp_loadedincludes\wck-cart-functions.php:224
filterwoocommerce_checkout_fieldsincludes\wck-cart-functions.php:351
actionwoocommerce_checkout_update_order_metaincludes\wck-cart-functions.php:354
filterwoocommerce_checkout_fieldsincludes\wck-cart-functions.php:363
filterwoocommerce_after_checkout_billing_formincludes\wck-cart-functions.php:366
actionwoocommerce_checkout_update_order_metaincludes\wck-cart-functions.php:369
actioninitincludes\wck-checkout-block.php:21
actionwoocommerce_blocks_checkout_block_registrationincludes\wck-checkout-block.php:28
actionwp_enqueue_scriptsincludes\wck-viewed-product.php:12
actionbefore_woocommerce_initklaviyo.php:35
actioninitklaviyo.php:187
actionwoocommerce_initklaviyo.php:261
actionadmin_enqueue_scriptsklaviyo.php:276
Maintenance & Trust

Klaviyo Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedMar 9, 2026
PHP min version7.0
Downloads1.5M

Community Trust

Rating56/100
Number of ratings24
Active installs100K
Developer Profile

Klaviyo Developer Profile

klaviyo

1 plugin · 100K total installs

78
trust score
Avg Security Score
99/100
Avg Patch Time
313 days
View full developer profile
Detection Fingerprints

How We Detect Klaviyo

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/klaviyo/assets/css/admin.css/wp-content/plugins/klaviyo/assets/css/frontend.css/wp-content/plugins/klaviyo/assets/js/frontend.js
Script Paths
/wp-content/plugins/klaviyo/assets/js/frontend.js
Version Parameters
klaviyo/assets/css/admin.css?ver=klaviyo/assets/css/frontend.css?ver=klaviyo/assets/js/frontend.js?ver=

HTML / DOM Fingerprints

CSS Classes
klaviyo-widgetklaviyo-modalklaviyo-form
HTML Comments
<!-- Klaviyo Widget --><!-- Klaviyo Modal --><!-- Klaviyo Form -->
Data Attributes
data-klaviyo-widgetdata-klaviyo-modaldata-klaviyo-form
JS Globals
Klaviyo
REST Endpoints
/wp-json/klaviyo/v1/webhook
Shortcode Output
[klaviyo_form][klaviyo_widget]
FAQ

Frequently Asked Questions about Klaviyo