Flexible PDF Coupons – Gift Cards & Vouchers for WooCommerce Security & Risk Analysis

wordpress.org/plugins/flexible-coupons

Flexible PDF Coupons - Gift Cards & Vouchers for WooCommerce - plugin to design and sell PDF gift cards, vouchers, or coupons in your store.

2K active installs v1.14.2 PHP 7.4+ WP 6.4+ Updated Mar 7, 2026
coupongift-cardpdf-ticketqr-codevoucher
99
A · Safe
CVEs total1
Unpatched0
Last CVEJan 15, 2025
Safety Verdict

Is Flexible PDF Coupons – Gift Cards & Vouchers for WooCommerce Safe to Use in 2026?

Generally Safe

Score 99/100

Flexible PDF Coupons – Gift Cards & Vouchers for WooCommerce has a strong security track record. Known vulnerabilities have been patched promptly.

1 known CVELast CVE: Jan 15, 2025Updated 28d ago
Risk Assessment

The "flexible-coupons" plugin v1.14.2 presents a mixed security posture. While it exhibits some good practices such as a moderate number of nonce and capability checks, its static analysis reveals significant concerns. The presence of several dangerous functions like `proc_open`, `shell_exec`, and `passthru` is a major red flag, indicating potential for remote code execution if exploited. Furthermore, a substantial portion of its output (72%) is not properly escaped, creating a high risk of Cross-Site Scripting (XSS) vulnerabilities. The lack of prepared statements for all SQL queries also introduces the possibility of SQL injection attacks.

The taint analysis, while reporting no critical or high severity flows, does indicate four flows with unsanitized paths. This, combined with the unprotected AJAX handlers and the inherent risks of dangerous functions, suggests that attackers could potentially leverage these weaknesses to manipulate plugin behavior or execute arbitrary code. The plugin's vulnerability history, showing one medium severity CVE related to XSS, reinforces the concern about improper input neutralization and suggests a pattern of past security weaknesses that require careful monitoring.

Overall, the plugin has a notable attack surface with three unprotected AJAX handlers, which is a direct entry point for potential abuse. The combination of unescaped output, lack of SQL sanitization, dangerous function usage, and unprotected entry points significantly elevates the risk profile. While it's positive that there are no currently unpatched CVEs and the vulnerability history is not extensive, the static analysis findings warrant significant caution and a strong recommendation for patching and enhanced security measures.

Key Concerns

  • Unprotected AJAX handlers
  • Dangerous functions (proc_open, shell_exec, passthru, unserialize)
  • SQL queries without prepared statements
  • Low percentage of properly escaped output
  • Flows with unsanitized paths
  • Medium severity vulnerability in history
  • Bundled library (TCPDF)
Vulnerabilities
1

Flexible PDF Coupons – Gift Cards & Vouchers for WooCommerce Security Vulnerabilities

CVEs by Year

1 CVE in 2025
2025
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2025-22825medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Flexible PDF Coupons <= 1.10.2 - Authenticated (Contributor+) Stored Cross-Site Scripting

Jan 15, 2025 Patched in 1.10.3 (8d)
Code Analysis
Analyzed Mar 16, 2026

Flexible PDF Coupons – Gift Cards & Vouchers for WooCommerce Code Analysis

Dangerous Functions
6
Raw SQL Queries
2
0 prepared
Unescaped Output
210
82 escaped
Nonce Checks
10
Capability Checks
4
File Operations
107
External Requests
5
Bundled Libraries
1

Dangerous Functions Found

proc_open$this->process = proc_open($this->command, static::DESCRIPTOR_SPEC, $this->pipes, $this->cwd);vendor_prefixed\monolog\monolog\src\Monolog\Handler\ProcessHandler.php:104
shell_exec$branches = shell_exec('git branch -v --no-abbrev');vendor_prefixed\monolog\monolog\src\Monolog\Processor\GitProcessor.php:60
shell_exec$result = explode(' ', trim((string) shell_exec('hg id -nb')));vendor_prefixed\monolog\monolog\src\Monolog\Processor\MercurialProcessor.php:59
passthrupassthru($command);vendor_prefixed\wpdesk\wp-codeception\src\WPDesk\Composer\Commands\BaseCommand.php:20
unserializereturn unserialize($value);vendor_prefixed\wpdesk\wp-forms\src\Serializer\SerializeSerializer.php:15
unserializereturn unserialize($this->container->get($id));vendor_prefixed\wpdesk\wp-persistence\src\Decorator\SerializedPersistentContainer.php:24

Bundled Libraries

TCPDF

SQL Query Safety

0% prepared2 total queries

Output Escaping

28% escaped292 total outputs
Data Flows
4 unsanitized

Data Flow Analysis

7 flows4 with unsanitized paths
<CssManager> (vendor_prefixed\mpdf\mpdf\src\CssManager.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
3 unprotected

Flexible PDF Coupons – Gift Cards & Vouchers for WooCommerce Attack Surface

Entry Points7
Unprotected3

AJAX Handlers 7

authwp_ajax_flexible_coupon_close_temporarysrc\Plugin\ReviewNotice\TwoWeeksNotice.php:69
authwp_ajax_get_variation_fieldsvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Cart\Cart.php:78
noprivwp_ajax_get_variation_fieldsvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Cart\Cart.php:79
authwp_ajax_generate_couponvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Coupon\GenerateCoupon.php:72
authwp_ajax_download_coupon_pdfvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\PDF\Download.php:36
noprivwp_ajax_download_coupon_pdfvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\PDF\Download.php:37
authwp_ajax_wpdesk_notice_dismissvendor_prefixed\wpdesk\wp-notice\src\WPDesk\Notice\AjaxHandler.php:42
WordPress Hooks 66
filterwoocommerce_email_classessrc\Plugin\Email\RegisterEmails.php:38
actionadmin_footersrc\Plugin\Marketing\SupportLinks.php:19
actionadmin_footersrc\Plugin\Marketing\SupportLinks.php:20
actionadmin_footersrc\Plugin\Marketing\SupportLinks.php:21
actionadmin_menusrc\Plugin\Marketing\SupportMenuPage.php:29
actionadmin_footersrc\Plugin\Marketing\SupportMenuPage.php:45
actionadmin_enqueue_scriptssrc\Plugin\Marketing\SupportMenuPage.php:46
actionwoocommerce_initsrc\Plugin\Plugin.php:119
actionadmin_initsrc\Plugin\ReviewNotice\ReviewNotice.php:27
actionadmin_enqueue_scriptssrc\Plugin\ReviewNotice\TwoWeeksNotice.php:63
filterfcpdf/settings/general/fieldssrc\Plugin\Settings\GeneralSettings.php:38
filterwpdesk_tracker_datasrc\Plugin\Tracker\Tracker.php:26
filterwpdesk_tracker_notice_screenssrc\Plugin\Tracker\Tracker.php:27
filterwpdesk_track_plugin_deactivationsrc\Plugin\Tracker\Tracker.php:28
actionwp_dashboard_setupvendor_prefixed\wpdesk\ltv-dashboard-widget\src\DashboardWidget.php:102
actionadmin_enqueue_scriptsvendor_prefixed\wpdesk\wp-builder\src\Plugin\AbstractPlugin.php:148
actionwp_enqueue_scriptsvendor_prefixed\wpdesk\wp-builder\src\Plugin\AbstractPlugin.php:149
actionadmin_enqueue_scriptsvendor_prefixed\wpdesk\wp-canva-editor\src\Editor\Assets.php:38
actionadd_meta_boxesvendor_prefixed\wpdesk\wp-canva-editor\src\Editor\CustomizeEditPage.php:39
filterenter_title_herevendor_prefixed\wpdesk\wp-canva-editor\src\Editor\CustomizeEditPage.php:40
actionadmin_enqueue_scriptsvendor_prefixed\wpdesk\wp-canva-editor\src\Editor\CustomizeEditPage.php:41
actionadmin_menuvendor_prefixed\wpdesk\wp-canva-editor\src\Editor\CustomizeEditPage.php:42
filterscreen_layout_columnsvendor_prefixed\wpdesk\wp-canva-editor\src\Editor\CustomizeEditPage.php:43
filteradmin_headvendor_prefixed\wpdesk\wp-canva-editor\src\Editor\CustomizeEditPage.php:45
actionwoocommerce_after_add_to_cart_buttonvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Cart\Cart.php:69
actionwoocommerce_before_add_to_cart_buttonvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Cart\Cart.php:71
filterwoocommerce_add_to_cart_validationvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Cart\Cart.php:73
actionwoocommerce_new_order_itemvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Cart\Cart.php:74
filterwoocommerce_add_cart_item_datavendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Cart\Cart.php:75
filterwoocommerce_get_item_datavendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Cart\Cart.php:76
filterwoocommerce_order_item_display_meta_keyvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Cart\Cart.php:77
actionbefore_delete_postvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Coupon\GenerateCoupon.php:73
filterwoocommerce_prepare_email_for_previewvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Email\EmailPreview.php:13
actionadmin_enqueue_scriptsvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Integration\Assets.php:67
actionwp_enqueue_scriptsvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Integration\Assets.php:68
actionwoocommerce_view_ordervendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Integration\MyAccount.php:37
actionwoocommerce_payment_completevendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Order\MakeOrder.php:41
actionwoocommerce_order_item_meta_endvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Order\MakeOrder.php:42
actionadd_meta_boxesvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Order\OrderMetaBox.php:54
filterproduct_type_optionsvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Product\ProductEditPage.php:66
actionsave_post_productvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Product\ProductEditPage.php:67
actionwoocommerce_product_data_tabsvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Product\ProductEditPage.php:68
actionwoocommerce_product_data_panelsvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Product\ProductEditPage.php:69
actionwoocommerce_product_after_variable_attributesvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Product\ProductVariationEditPage.php:65
actionwoocommerce_process_product_metavendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Product\SaveProductSimpleData.php:46
actionwoocommerce_save_product_variationvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Product\SaveProductVariationData.php:46
actionadmin_menuvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Settings\SettingsForm.php:51
actionadmin_initvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Settings\SettingsForm.php:54
actionadmin_enqueue_scriptsvendor_prefixed\wpdesk\wp-coupons-core\src\Coupons\Settings\SettingsForm.php:55
actionadmin_enqueue_scriptsvendor_prefixed\wpdesk\wp-notice\src\WPDesk\Notice\AjaxHandler.php:41
actionadmin_noticesvendor_prefixed\wpdesk\wp-notice\src\WPDesk\Notice\Notice.php:144
actionadmin_footervendor_prefixed\wpdesk\wp-notice\src\WPDesk\Notice\Notice.php:145
filterwp_autoloader_loader_loaders_to_loadvendor_prefixed\wpdesk\wp-plugin-flow-common\src\Initialization\PluginDisablerByFileTrait.php:45
filterwp_autoloader_loader_loaders_to_createvendor_prefixed\wpdesk\wp-plugin-flow-common\src\Initialization\PluginDisablerByFileTrait.php:46
actionplugins_loadedvendor_prefixed\wpdesk\wp-plugin-flow-common\src\Initialization\Simple\SimplePaidStrategy.php:58
actionplugins_loadedvendor_prefixed\wpdesk\wp-plugin-flow-common\src\PluginBootstrap.php:81
actionbefore_woocommerce_initvendor_prefixed\wpdesk\wp-plugin-flow-common\src\PluginBootstrap.php:88
actionactivated_pluginvendor_prefixed\wpdesk\wp-plugin-flow-common\src\PluginBootstrap.php:102
filterdoing_it_wrong_trigger_errorvendor_prefixed\wpdesk\wp-plugin-flow-common\src\PluginBootstrap.php:123
actionadmin_enqueue_scriptsvendor_prefixed\wpdesk\wp-wpdesk-marketing\src\Boxes\Assets.php:16
actionadmin_enqueue_scriptsvendor_prefixed\wpdesk\wp-wpdesk-marketing\src\Boxes\Assets.php:30
actionadmin_enqueue_scriptsvendor_prefixed\wpdesk\wp-wpdesk-tracker\src\PSR\WPDesk\Tracker\Assets.php:28
actionadmin_menuvendor_prefixed\wpdesk\wp-wpdesk-tracker\src\PSR\WPDesk\Tracker\OptInPage.php:35
actionadmin_initvendor_prefixed\wpdesk\wp-wpdesk-tracker\src\PSR\WPDesk\Tracker\OptInPage.php:36
actionadmin_noticesvendor_prefixed\wpdesk\wp-wpdesk-tracker\src\PSR\WPDesk\Tracker\OptOut.php:28
filterplugin_row_metavendor_prefixed\wpdesk\wp-wpdesk-tracker\src\PSR\WPDesk\Tracker\PluginActionLinks.php:36
Maintenance & Trust

Flexible PDF Coupons – Gift Cards & Vouchers for WooCommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedMar 7, 2026
PHP min version7.4
Downloads108K

Community Trust

Rating94/100
Number of ratings30
Active installs2K
Developer Profile

Flexible PDF Coupons – Gift Cards & Vouchers for WooCommerce Developer Profile

wpdesk

23 plugins · 127K total installs

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

How We Detect Flexible PDF Coupons – Gift Cards & Vouchers 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/flexible-coupons/assets/css/marketing.css/wp-content/plugins/flexible-coupons/assets/css/modal.css/wp-content/plugins/flexible-coupons/assets/js/modal.js
Script Paths
/wp-content/plugins/flexible-coupons/assets/js/modal.js/wp-content/plugins/flexible-coupons/assets/js/two-weeks-notice.js
Version Parameters
flexible-coupons/assets/css/marketing.css?ver=flexible-coupons/assets/css/modal.css?ver=flexible-coupons/assets/js/modal.js?ver=flexible_coupons-rate-notice?ver=

HTML / DOM Fingerprints

CSS Classes
sm-close-temp
Data Attributes
data-type="date"
FAQ

Frequently Asked Questions about Flexible PDF Coupons – Gift Cards & Vouchers for WooCommerce