Ship Per Product Security & Risk Analysis

wordpress.org/plugins/ship-per-product

Allows you to set shipping cost to each products based on customers location.

100 active installs v2.1.0 PHP + WP 3.4+ Updated Jul 23, 2022
per-product-shippingshipship-per-productshippingwoocommerce-shipping
64
C · Use Caution
CVEs total1
Unpatched1
Last CVEApr 1, 2025
Safety Verdict

Is Ship Per Product Safe to Use in 2026?

Use With Caution

Score 64/100

Ship Per Product has 1 unpatched vulnerability. Evaluate alternatives or apply available mitigations.

1 known CVE 1 unpatched Last CVE: Apr 1, 2025Updated 3yr ago
Risk Assessment

The 'ship-per-product' plugin v2.1.0 exhibits significant security concerns, primarily due to a large attack surface with a high proportion of unprotected AJAX handlers and a notable lack of proper output escaping. While the plugin doesn't appear to use dangerous functions or make external HTTP requests, the 7 unprotected AJAX endpoints represent a substantial risk, potentially allowing unauthenticated users to trigger arbitrary actions. The low percentage of prepared SQL statements (5%) also raises flags for potential SQL injection vulnerabilities, despite the absence of identified critical or high severity taint flows. The vulnerability history, showing one medium severity CVE that is currently unpatched, further reinforces the need for caution. This unpatched vulnerability, coupled with the weak authorization checks on AJAX handlers, indicates a pattern of neglect in fundamental security practices. Overall, while the absence of dangerous functions and external requests are positive, the combination of a broad unprotected attack surface, insecure coding practices regarding SQL and output escaping, and an unpatched historical vulnerability paints a concerning security picture for this plugin.

Key Concerns

  • Unprotected AJAX handlers
  • Low percentage of prepared SQL statements
  • Low percentage of properly escaped output
  • Unpatched medium severity CVE
  • Missing nonce checks on AJAX
  • Only one capability check found
  • High severity taint flow
Vulnerabilities
1

Ship Per Product Security Vulnerabilities

CVEs by Year

1 CVE in 2025 · unpatched
2025
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2025-31773medium · 5.3Missing Authorization

Ship Per Product <= 2.1.0 - Missing Authorization

Apr 1, 2025Unpatched
Code Analysis
Analyzed Mar 16, 2026

Ship Per Product Code Analysis

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

Bundled Libraries

DataTables

SQL Query Safety

5% prepared64 total queries

Output Escaping

18% escaped62 total outputs
Data Flows
6 unsanitized

Data Flow Analysis

8 flows6 with unsanitized paths
ced_pbs_datable_process_edit (includes\class-ship-per-product.php:84)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
7 unprotected

Ship Per Product Attack Surface

Entry Points9
Unprotected7

AJAX Handlers 9

noprivwp_ajax_extractcsv_fileincludes\class-ship-per-product.php:39
authwp_ajax_extractcsv_fileincludes\class-ship-per-product.php:40
noprivwp_ajax_ced_pbs_delete_rowsincludes\class-ship-per-product.php:41
authwp_ajax_ced_pbs_delete_rowsincludes\class-ship-per-product.php:42
noprivwp_ajax_ced_pbs_showing_codesincludes\class-ship-per-product.php:44
authwp_ajax_ced_pbs_showing_codesincludes\class-ship-per-product.php:45
authwp_ajax_ced_pbs_datable_process_editincludes\class-ship-per-product.php:48
noprivwp_ajax_ced_pbs_datable_process_editincludes\class-ship-per-product.php:49
authwp_ajax_ced_spp_send_mailincludes\class-ship-per-product.php:53
WordPress Hooks 13
actionwoocommerce_cart_calculate_feesincludes\class-ship-per-product.php:30
filterwoocommerce_shipping_methodsincludes\class-ship-per-product.php:31
actionwoocommerce_shipping_initincludes\class-ship-per-product.php:32
actionwoocommerce_product_options_shippingincludes\class-ship-per-product.php:35
actionwoocommerce_process_product_metaincludes\class-ship-per-product.php:37
actionadmin_enqueue_scriptsincludes\class-ship-per-product.php:38
actionadmin_initincludes\class-ship-per-product.php:50
actionplugins_loadedincludes\class-ship-per-product.php:51
actioninitincludes\class-ship-per-product.php:52
filterwoocommerce_package_ratesincludes\ship-per-product-options.php:915
filterplugin_action_linksship-per-product.php:72
actionadmin_initship-per-product.php:118
actionadmin_noticesship-per-product.php:130
Maintenance & Trust

Ship Per Product Maintenance & Trust

Maintenance Signals

WordPress version tested6.0.0
Last updatedJul 23, 2022
PHP min version
Downloads17K

Community Trust

Rating60/100
Number of ratings2
Active installs100
Developer Profile

Ship Per Product Developer Profile

cedcommerce

21 plugins · 5K total installs

67
trust score
Avg Security Score
83/100
Avg Patch Time
204 days
View full developer profile
Detection Fingerprints

How We Detect Ship Per Product

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/ship-per-product/includes/css/custom.css/wp-content/plugins/ship-per-product/includes/css/style.css/wp-content/plugins/ship-per-product/includes/js/ced-spp-common.js/wp-content/plugins/ship-per-product/includes/js/ced-spp-product-data.js/wp-content/plugins/ship-per-product/includes/js/ced_spp_admin.js

HTML / DOM Fingerprints

CSS Classes
ced_spp_hidden_inputced_spp_add_row_buttonced_spp_edit_row_buttonced_spp_delete_row_buttonced_spp_edit_country_codeced_spp_edit_state_codeced_spp_edit_cityced_spp_edit_zip_code+4 more
HTML Comments
<!-- This is main class of plugin --><!-- This function is a constructor of class --><!-- DataTables example server-side processing script. --><!-- Please note that this script is intentionally extremely simply to show how -->+13 more
Data Attributes
data-product_iddata-country_codedata-state_codedata-citydata-zip_codedata-line_cost+3 more
JS Globals
ced_spp_common_objced_spp_product_dataced_spp_admin_objced_pbs_datatable_process_edit
REST Endpoints
/wp-json/ced_spp/v1/get_shipping_data
FAQ

Frequently Asked Questions about Ship Per Product