WP Manifestindependent plugin directory
manifest / ecommerce / frenzy

Frenzy WP Registry grade D+. High-severity findings · 2 findingsWP RegistryHigh-severity findings · 2 findingsOpen the reportD+

Wordpress plugin to improve on the Dynamic Mockups plugin

★ 0stars
15release downloads
v1.9.16latest · 10mo ago

Install

Download frenzy-v1.9.16.zip From the v1.9.16 release on GitHub, Dec 14, 2025

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/emkowale/frenzy/releases/download/v1.9.16/frenzy-v1.9.16.zip
Updates itself. It ships its own updater, so new versions appear under Dashboard → Updates.

WooCommerce helper plugin for user-uploaded artwork mockups.

What it does

  • Adds an upload block on Frenzy-enabled products so customers can place their art on the product image.
  • Provides an “Adjust Boundaries” admin tool to define the printable region per product.
  • Generates a composite mockup (product + overlay) and carries it through cart, checkout, emails, and order meta.
  • Stores original art + transform for reference; order meta shows “View Mockup” and “View Original Art Front” buttons.
  • Sets new orders to “On hold” so artwork can be reviewed before processing.

Install / update

  1. Upload the frenzy plugin folder to wp-content/plugins/.
  2. Activate in WordPress Admin → Plugins.
  3. Enable Frenzy on a product via the “Use with Frenzy” checkbox in the product’s General settings.

Usage

  • On the product page: click “Upload your own image”, position/resize within the dotted boundary, then add to cart. The cart thumbnail and emails will show the generated mockup.
  • To adjust the printable region: in the product gallery (when logged in with permissions), click “Adjust Boundaries”, drag/resize the box, and save.
  • Orders: admins see “View Mockup” / “View Original Art Front” buttons in order item meta; orders start as On hold.

Developer notes

  • JS is modular under assets/js/ (core, grid, canvas, api, overlay, upload, submit, etc.).
  • Server AJAX endpoints live in includes/mockup/ (generate, canvas save) and cart/order handlers in includes/cart/.
  • Mockup outputs are stored in wp-content/uploads/frenzy-mockups/.
  • Release helper: ./release.sh <patch|minor|major> (requires git repo).

Troubleshooting

  • If mockups don’t appear, check that frenzy_mockup_url is set on the cart item and that wp-content/uploads/frenzy-mockups/ is writable.
  • Ensure GD is available on the server for server-side mockup generation.

Releases

6 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v1.9.16 latest
Dec 14, 2025 10mo ago
frenzy-v1.9.16.zip
5
Dec 14, 2025 10mo ago
frenzy-v1.9.14.zip
6
Dec 12, 2025 10mo ago
frenzy-v1.9.13.zip
1
Dec 8, 2025 10mo ago
frenzy-v1.9.12.zip
0
Dec 8, 2025 10mo ago
frenzy-v1.9.11.zip
1
Nov 24, 2025 11mo ago
frenzy-v1.9.7.zip
2
D+ grade

Security

Frenzy 1.9.16 · audited by WP Registry

High-severity findings.

1 high 1 medium
Audited release
1.9.16
Findings
2
Worst severity
high
Content hash
3e4774c9bec1db0032b38f77…

Findings

  • high Unauthenticated SSRF via original_url in mockup generator

    ssrf

    frenzy_handle_generate_mockup is registered for wp_ajax_nopriv_frenzy_generate_mockup. Auth is only wp_verify_nonce(frenzy_nonce); that nonce is localized on product pages for anonymous shoppers. When original_url is supplied and frenzy_path_from_url does not map it into uploads, the handler calls download_url($original_url), causing the WordPress server to fetch an attacker-chosen URL (SSRF). previous_* URLs are constrained to frenzy-mockups by frenzy_resolve_mockup_file_path, but the download_url branch is not.

    includes/mockup/handlers-generate.php:62-68

    Recommendation

    Do not call download_url on user-supplied URLs from nopriv handlers. Restrict original_url to same-origin uploads/frenzy-mockups paths (reject otherwise), or require manage_woocommerce for remote fetch.

  • medium Unauthenticated canvas save writes uploaded bytes without image validation

    file_access

    frenzy_handle_save_canvas_mockup (nopriv) accepts $_FILES[image] and move_uploaded_file into uploads/frenzy-mockups with a forced .png extension, without verifying MIME/content via wp_check_filetype_and_ext or getimagesize. Combined with a public nonce this allows anonymous write of arbitrary byte streams into the uploads tree (extension is png so PHP execution is unlikely on default configs).

    includes/mockup/handlers-save-canvas.php:13-33

    Recommendation

    Validate image contents (getimagesize / wp_check_filetype_and_ext) before move_uploaded_file; rate-limit nopriv uploads.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.