Raffle for WooCommerce Security & Risk Analysis

wordpress.org/plugins/raffle-for-woocommerce

Run raffles with WooCommerce. Sell tickets, draw winners, and let customers buy tickets for friends and family.

10 active installs v1.1.4 PHP 7.4+ WP 6.0+ Updated Mar 12, 2026
giveawaylotteryraffleticketswoocommerce
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Raffle for WooCommerce Safe to Use in 2026?

Generally Safe

Score 100/100

Raffle for WooCommerce has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 22d ago
Risk Assessment

The "raffle-for-woocommerce" v1.1.4 plugin exhibits a generally good security posture based on the provided static analysis. A significant number of entry points (32) are present, but importantly, all are protected by either nonce or capability checks, indicating a strong emphasis on authentication and authorization. The plugin also demonstrates good practices with a high percentage of SQL queries using prepared statements and output escaping, minimizing the risk of common vulnerabilities like SQL injection and cross-site scripting. The absence of dangerous functions and external HTTP requests further bolsters its security.

However, the taint analysis reveals a concerning number of flows with unsanitized paths (10 out of 13 analyzed). While no critical or high severity taint flows were explicitly found, the sheer volume of unsanitized paths suggests a potential for vulnerabilities if user input is not handled rigorously in these flows. The plugin's vulnerability history is clean, with no recorded CVEs, which is a positive sign of its current security. Nevertheless, the taint analysis findings warrant attention as they highlight areas where improper input sanitization could lead to security issues, even in the absence of historically documented vulnerabilities.

Key Concerns

  • Flows with unsanitized paths found in taint analysis
  • High percentage of unsanitized paths in taint flows
Vulnerabilities
None known

Raffle for WooCommerce Security Vulnerabilities

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

Raffle for WooCommerce Code Analysis

Dangerous Functions
0
Raw SQL Queries
17
155 prepared
Unescaped Output
101
1111 escaped
Nonce Checks
26
Capability Checks
25
File Operations
2
External Requests
2
Bundled Libraries
0

SQL Query Safety

90% prepared172 total queries

Output Escaping

92% escaped1212 total outputs
Data Flows
10 unsanitized

Data Flow Analysis

13 flows10 with unsanitized paths
render_tickets_view (includes\admin\class-rfwc-admin-tickets.php:320)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Raffle for WooCommerce Attack Surface

Entry Points32
Unprotected0

AJAX Handlers 25

authwp_ajax_rfwc_get_analytics_dataincludes\admin\class-rfwc-admin-analytics.php:31
authwp_ajax_rfwc_export_analyticsincludes\admin\class-rfwc-admin-analytics.php:32
authwp_ajax_rfwc_dismiss_welcome_noticeincludes\admin\class-rfwc-admin-notices.php:36
authwp_ajax_rfwc_tickets_mark_claimedincludes\admin\class-rfwc-admin-tickets.php:43
authwp_ajax_rfwc_tickets_bulk_claimincludes\admin\class-rfwc-admin-tickets.php:44
authwp_ajax_rfwc_tickets_resend_notificationincludes\admin\class-rfwc-admin-tickets.php:45
authwp_ajax_rfwc_mass_refund_infoincludes\admin\class-rfwc-admin-tickets.php:48
authwp_ajax_rfwc_mass_refund_processincludes\admin\class-rfwc-admin-tickets.php:49
authwp_ajax_rfwc_mass_refund_completeincludes\admin\class-rfwc-admin-tickets.php:50
authwp_ajax_rfwc_selective_refund_infoincludes\admin\class-rfwc-admin-tickets.php:53
authwp_ajax_rfwc_selective_refund_processincludes\admin\class-rfwc-admin-tickets.php:54
authwp_ajax_rfwc_mark_refund_doneincludes\admin\class-rfwc-admin-tickets.php:57
authwp_ajax_rfwc_draw_winnersincludes\admin\class-rfwc-admin-winner.php:42
authwp_ajax_rfwc_select_manual_winnerincludes\admin\class-rfwc-admin-winner.php:43
authwp_ajax_rfwc_clear_winnersincludes\admin\class-rfwc-admin-winner.php:44
authwp_ajax_rfwc_resend_winner_notificationincludes\admin\class-rfwc-admin-winner.php:45
authwp_ajax_rfwc_mark_prize_claimedincludes\admin\class-rfwc-admin-winner.php:46
authwp_ajax_rfwc_mark_raffle_failedincludes\admin\class-rfwc-admin-winner.php:47
authwp_ajax_rfwc_cancel_raffleincludes\admin\class-rfwc-admin-winner.php:48
authwp_ajax_rfwc_extend_raffleincludes\admin\class-rfwc-admin-winner.php:49
authwp_ajax_rfwc_relist_raffleincludes\admin\class-rfwc-admin-winner.php:50
authwp_ajax_rfwc_update_cart_quantityincludes\class-rfwc-gift-checkout.php:55
noprivwp_ajax_rfwc_update_cart_quantityincludes\class-rfwc-gift-checkout.php:56
authwp_ajax_rfwc_validate_ticketincludes\class-rfwc-qr-validator.php:32
authwp_ajax_rfwc_checkin_ticketincludes\class-rfwc-qr-validator.php:33

Shortcodes 7

[raffle_card] includes\class-rfwc-shortcodes.php:48
[raffle_cards] includes\class-rfwc-shortcodes.php:49
[raffle_countdown] includes\class-rfwc-shortcodes.php:50
[raffle_progress] includes\class-rfwc-shortcodes.php:51
[raffle_prize] includes\class-rfwc-shortcodes.php:52
[raffle_status] includes\class-rfwc-shortcodes.php:53
[raffle_winners] includes\class-rfwc-shortcodes.php:54
WordPress Hooks 116
actionadmin_menuincludes\admin\class-rfwc-admin-analytics.php:29
actionadmin_enqueue_scriptsincludes\admin\class-rfwc-admin-analytics.php:30
actionadmin_noticesincludes\admin\class-rfwc-admin-notices.php:35
actionadd_meta_boxesincludes\admin\class-rfwc-admin-order.php:38
filtermanage_edit-shop_order_columnsincludes\admin\class-rfwc-admin-order.php:41
filtermanage_woocommerce_page_wc-orders_columnsincludes\admin\class-rfwc-admin-order.php:42
actionmanage_shop_order_posts_custom_columnincludes\admin\class-rfwc-admin-order.php:45
actionmanage_woocommerce_page_wc-orders_custom_columnincludes\admin\class-rfwc-admin-order.php:46
actionadmin_menuincludes\admin\class-rfwc-admin-tickets.php:38
actionadmin_initincludes\admin\class-rfwc-admin-tickets.php:39
actionadmin_enqueue_scriptsincludes\admin\class-rfwc-admin-tickets.php:40
actionadd_meta_boxesincludes\admin\class-rfwc-admin-winner.php:39
actionadmin_enqueue_scriptsincludes\admin\class-rfwc-admin-winner.php:53
actionadmin_enqueue_scriptsincludes\admin\class-rfwc-admin.php:56
filterwoocommerce_product_data_tabsincludes\admin\class-rfwc-admin.php:59
actionwoocommerce_product_data_panelsincludes\admin\class-rfwc-admin.php:60
actionwoocommerce_process_product_meta_raffleincludes\admin\class-rfwc-admin.php:63
filterwoocommerce_product_data_tabsincludes\admin\class-rfwc-admin.php:68
filterwoocommerce_settings_tabs_arrayincludes\admin\class-rfwc-settings.php:29
actionwoocommerce_settings_tabs_raffleincludes\admin\class-rfwc-settings.php:30
actionwoocommerce_update_options_raffleincludes\admin\class-rfwc-settings.php:31
actionwoocommerce_sections_raffleincludes\admin\class-rfwc-settings.php:32
actionwoocommerce_admin_field_rfwc_question_poolincludes\admin\class-rfwc-settings.php:35
actionwoocommerce_store_api_checkout_update_order_metaincludes\class-rfwc-blocks-integration.php:39
actionwoocommerce_checkout_create_order_line_itemincludes\class-rfwc-blocks-integration.php:42
actionwoocommerce_store_api_checkout_update_order_from_requestincludes\class-rfwc-blocks-integration.php:47
actionwoocommerce_store_api_checkout_order_processedincludes\class-rfwc-blocks-integration.php:50
actionwoocommerce_blocks_enqueue_checkout_block_scripts_afterincludes\class-rfwc-blocks-integration.php:53
actionwoocommerce_blocks_loadedincludes\class-rfwc-blocks-integration.php:639
filterwoocommerce_email_classesincludes\class-rfwc-emails.php:39
filterwoocommerce_email_actionsincludes\class-rfwc-emails.php:42
actionwp_enqueue_scriptsincludes\class-rfwc-frontend.php:39
actionwoocommerce_single_product_summaryincludes\class-rfwc-frontend.php:42
actionwoocommerce_single_product_summaryincludes\class-rfwc-frontend.php:43
actionwoocommerce_single_product_summaryincludes\class-rfwc-frontend.php:44
actionwoocommerce_single_product_summaryincludes\class-rfwc-frontend.php:45
actionwoocommerce_single_product_summaryincludes\class-rfwc-frontend.php:46
actionwoocommerce_single_product_summaryincludes\class-rfwc-frontend.php:48
actionwoocommerce_after_shop_loop_item_titleincludes\class-rfwc-frontend.php:53
actionwoocommerce_product_thumbnailsincludes\class-rfwc-frontend.php:58
actionwoocommerce_before_shop_loop_item_titleincludes\class-rfwc-frontend.php:59
actionwoocommerce_raffle_add_to_cartincludes\class-rfwc-frontend.php:63
filterwoocommerce_product_single_add_to_cart_textincludes\class-rfwc-frontend.php:66
filterwoocommerce_product_add_to_cart_textincludes\class-rfwc-frontend.php:67
filterbody_classincludes\class-rfwc-frontend.php:70
filterwoocommerce_locate_templateincludes\class-rfwc-frontend.php:73
actionwoocommerce_after_order_notesincludes\class-rfwc-gift-checkout.php:40
actionwoocommerce_checkout_processincludes\class-rfwc-gift-checkout.php:43
actionwoocommerce_checkout_create_orderincludes\class-rfwc-gift-checkout.php:46
actionwoocommerce_checkout_create_order_line_itemincludes\class-rfwc-gift-checkout.php:49
actionwp_enqueue_scriptsincludes\class-rfwc-gift-checkout.php:52
actionrfwc_ticket_generatedincludes\class-rfwc-instant-win-evaluator.php:33
actionwoocommerce_thankyouincludes\class-rfwc-instant-win-evaluator.php:34
actionrfwc_raffle_completedincludes\class-rfwc-instant-win-evaluator.php:35
filterproduct_type_selectorincludes\class-rfwc-loader.php:38
filterwoocommerce_product_classincludes\class-rfwc-loader.php:39
filterwoocommerce_add_to_cart_validationincludes\class-rfwc-loader.php:42
filterwoocommerce_add_to_cart_validationincludes\class-rfwc-loader.php:43
filterwoocommerce_update_cart_validationincludes\class-rfwc-loader.php:44
filterwoocommerce_cart_item_quantityincludes\class-rfwc-loader.php:47
actionwoocommerce_after_cart_item_quantity_updateincludes\class-rfwc-loader.php:48
filterwoocommerce_add_cart_item_dataincludes\class-rfwc-loader.php:51
filterwoocommerce_add_cart_item_dataincludes\class-rfwc-loader.php:52
filterwoocommerce_get_item_dataincludes\class-rfwc-loader.php:55
actionwoocommerce_before_calculate_totalsincludes\class-rfwc-loader.php:59
filterwoocommerce_cart_item_priceincludes\class-rfwc-loader.php:60
actionwoocommerce_checkout_create_order_line_itemincludes\class-rfwc-loader.php:61
actionwoocommerce_checkout_create_order_line_itemincludes\class-rfwc-loader.php:65
filterwoocommerce_available_payment_gatewaysincludes\class-rfwc-loader.php:68
filterwoocommerce_add_to_cart_redirectincludes\class-rfwc-loader.php:71
filterwoocommerce_order_item_needs_processingincludes\class-rfwc-loader.php:74
actionadmin_initincludes\class-rfwc-loader.php:77
actioninitincludes\class-rfwc-my-account.php:47
filterwoocommerce_account_menu_itemsincludes\class-rfwc-my-account.php:50
filterwoocommerce_get_query_varsincludes\class-rfwc-my-account.php:56
filterthe_titleincludes\class-rfwc-my-account.php:59
actioninitincludes\class-rfwc-my-account.php:69
actioninitincludes\class-rfwc-pdf-ticket.php:50
actionadmin_initincludes\class-rfwc-privacy.php:30
filterwp_privacy_personal_data_exportersincludes\class-rfwc-privacy.php:33
filterwp_privacy_personal_data_erasersincludes\class-rfwc-privacy.php:36
actionrfwc_winner_selectedincludes\class-rfwc-prize-fulfillment.php:38
actioninitincludes\class-rfwc-qr-validator.php:29
actionadmin_menuincludes\class-rfwc-qr-validator.php:30
actionadmin_enqueue_scriptsincludes\class-rfwc-qr-validator.php:31
actioninitincludes\class-rfwc-scheduler.php:39
actionrfwc_check_expired_rafflesincludes\class-rfwc-scheduler.php:42
actionrfwc_auto_draw_raffleincludes\class-rfwc-scheduler.php:45
actionwoocommerce_order_status_completedincludes\class-rfwc-ticket-generator.php:39
actionwoocommerce_order_status_processingincludes\class-rfwc-ticket-generator.php:40
actionwoocommerce_order_status_cancelledincludes\class-rfwc-ticket-generator.php:43
actionwoocommerce_order_status_refundedincludes\class-rfwc-ticket-generator.php:44
actionwoocommerce_order_status_cancelled_to_processingincludes\class-rfwc-ticket-generator.php:47
actionwoocommerce_order_status_cancelled_to_completedincludes\class-rfwc-ticket-generator.php:48
actionwoocommerce_order_status_cancelled_to_on-holdincludes\class-rfwc-ticket-generator.php:49
actionwoocommerce_order_item_meta_endincludes\class-rfwc-ticket-generator.php:52
filterwoocommerce_hidden_order_itemmetaincludes\class-rfwc-ticket-generator.php:55
actionwoocommerce_order_details_after_order_tableincludes\class-rfwc-ticket-generator.php:58
actionbefore_delete_postincludes\class-rfwc-ticket-generator.php:61
actionwoocommerce_before_delete_orderincludes\class-rfwc-ticket-generator.php:63
actionrfwc_draw_failedincludes\emails\class-rfwc-email-admin-draw-failed.php:57
actionrfwc_mass_refund_completedincludes\emails\class-rfwc-email-admin-mass-refund-summary.php:58
actionrfwc_winner_selectedincludes\emails\class-rfwc-email-admin-winner-alert.php:58
actionrfwc_gift_tickets_generatedincludes\emails\class-rfwc-email-gift-received.php:74
actionrfwc_prize_claimedincludes\emails\class-rfwc-email-prize-claimed.php:59
actionrfwc_tickets_generatedincludes\emails\class-rfwc-email-ticket-confirmation.php:59
actionrfwc_ticket_refunded_notificationincludes\emails\class-rfwc-email-ticket-refunded.php:73
actionrfwc_winner_selectedincludes\emails\class-rfwc-email-winner-notification.php:74
actionrfwc_resend_winner_notificationincludes\emails\class-rfwc-email-winner-notification.php:75
actionplugins_loadedraffle-for-woocommerce.php:264
actionplugins_loadedraffle-for-woocommerce.php:267
actioninitraffle-for-woocommerce.php:270
actionbefore_woocommerce_initraffle-for-woocommerce.php:273
filterplugin_row_metaraffle-for-woocommerce.php:279
actionadmin_noticesraffle-for-woocommerce.php:293
actionadmin_noticesraffle-for-woocommerce.php:298

Scheduled Events 4

rfwc_check_expired_raffles
rfwc_auto_draw_raffle
rfwc_auto_draw_raffle
rfwc_auto_draw_raffle
Maintenance & Trust

Raffle for WooCommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedMar 12, 2026
PHP min version7.4
Downloads751

Community Trust

Rating100/100
Number of ratings1
Active installs10
Developer Profile

Raffle for WooCommerce Developer Profile

Themology

2 plugins · 10 total installs

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

How We Detect Raffle for WooCommerce

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/raffle-for-woocommerce/assets/css/frontend.css/wp-content/plugins/raffle-for-woocommerce/assets/js/frontend.js/wp-content/plugins/raffle-for-woocommerce/assets/css/admin-tickets.css/wp-content/plugins/raffle-for-woocommerce/assets/js/admin-tickets.js/wp-content/plugins/raffle-for-woocommerce/assets/css/admin-winner.css/wp-content/plugins/raffle-for-woocommerce/assets/js/admin-winner.js/wp-content/plugins/raffle-for-woocommerce/assets/css/admin-settings.css/wp-content/plugins/raffle-for-woocommerce/assets/js/admin-settings.js+5 more
Script Paths
/wp-content/plugins/raffle-for-woocommerce/assets/js/frontend.js/wp-content/plugins/raffle-for-woocommerce/assets/js/admin-tickets.js/wp-content/plugins/raffle-for-woocommerce/assets/js/admin-winner.js/wp-content/plugins/raffle-for-woocommerce/assets/js/admin-settings.js/wp-content/plugins/raffle-for-woocommerce/assets/js/admin-analytics.js/wp-content/plugins/raffle-for-woocommerce/assets/js/admin.js+1 more
Version Parameters
raffle-for-woocommerce/assets/css/frontend.css?ver=raffle-for-woocommerce/assets/js/frontend.js?ver=raffle-for-woocommerce/assets/css/admin-tickets.css?ver=raffle-for-woocommerce/assets/js/admin-tickets.js?ver=raffle-for-woocommerce/assets/css/admin-winner.css?ver=raffle-for-woocommerce/assets/js/admin-winner.js?ver=raffle-for-woocommerce/assets/css/admin-settings.css?ver=raffle-for-woocommerce/assets/js/admin-settings.js?ver=raffle-for-woocommerce/assets/css/admin-analytics.css?ver=raffle-for-woocommerce/assets/js/admin-analytics.js?ver=raffle-for-woocommerce/assets/css/admin.css?ver=raffle-for-woocommerce/assets/js/admin.js?ver=raffle-for-woocommerce/assets/js/rfwc-blocks.js?ver=

HTML / DOM Fingerprints

CSS Classes
rfwc-raffle-productrfwc-raffle-tickets-boughtrfwc-raffle-ticket-pricerfwc-raffle-ticket-quantityrfwc-raffle-winner-listrfwc-raffle-winner-itemrfwc-raffle-countdown-timerrfwc-ticket-details+5 more
HTML Comments
<!-- Raffle for WooCommerce --><!-- End Raffle for WooCommerce --><!-- Start RFWC Admin Tickets --><!-- End RFWC Admin Tickets -->+6 more
Data Attributes
data-rfwc-product-iddata-rfwc-raffle-iddata-rfwc-ticket-iddata-rfwc-winner-iddata-rfwc-validation-url
JS Globals
RFWC_FrontendRFWC_AdminTicketsRFWC_AdminWinnerRFWC_AdminSettingsRFWC_AdminAnalytics
REST Endpoints
/wp-json/rfwc/v1/validate-ticket/wp-json/rfwc/v1/get-raffle-info
Shortcode Output
[rfwc_raffle_tickets_bought][rfwc_raffle_winner_list][rfwc_raffle_countdown]
FAQ

Frequently Asked Questions about Raffle for WooCommerce