WP Manifestindependent plugin directory
manifest / ecommerce / virtual-terminal

USBSwiper Hosted Virtual Terminal WP Registry grade D+. High-severity findings · 4 findingsWP RegistryHigh-severity findings · 4 findingsOpen the reportD+

This is our WordPress based Virtual Terminal using 3rd party onboarding with PayPal Complete Payments.

★ 0stars
v4.1.6latest · 1 year ago

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/usbswiper/virtual-terminal/archive/refs/heads/release.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

This is our WordPress based Virtual Terminal using 3rd party onboarding with PayPal Complete Payments.

Releases

Newest 25 of 40 recorded releases.

Tag
Published
v4.1.6 latest
Apr 25, 2025 1 year ago
Feb 16, 2025 1 year ago
Dec 7, 2024 1 year ago
Dec 4, 2024 1 year ago
Nov 18, 2024 1 year ago
Nov 18, 2024 1 year ago
Nov 15, 2024 1 year ago
Oct 16, 2024 2 years ago
Oct 16, 2024 2 years ago
Jun 26, 2024 2 years ago
Jun 24, 2024 2 years ago
Jun 21, 2024 2 years ago
Jun 10, 2024 2 years ago
Apr 29, 2024 2 years ago
Apr 24, 2024 2 years ago
Apr 16, 2024 2 years ago
Apr 15, 2024 2 years ago
Jan 3, 2024 2 years ago
Nov 30, 2023 2 years ago
Sep 4, 2023 3 years ago
Aug 24, 2023 3 years ago
Aug 18, 2023 3 years ago
Jul 12, 2023 3 years ago
Jul 11, 2023 3 years ago
Jun 2, 2023 3 years ago
All releases on GitHub →

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.

D+ grade

Security

USBSwiper Hosted Virtual Terminal 4.1.6 · audited by WP Registry

High-severity findings.

3 high 1 medium
Audited release
4.1.6
Findings
4
Worst severity
high
Content hash
42a35c2fc4d3ca4aaaa6d250…

Findings

  • high Unauthenticated update_order_status marks transactions FAILED

    missing_auth

    wp_ajax_nopriv_update_order_status has no nonce or authentication. Any visitor can POST transaction_id and force _payment_status to FAILED (or PENDING for invoices), write _payment_failed_response, and pollute payment logs for arbitrary transaction posts.

    public/class-usb-swiper-public.php:2807-2860

  • high vt_delete_product_cb deletes any product without nonce or capability

    missing_capability

    wp_ajax_vt_delete_product (authenticated AJAX only) accepts product_id and calls wp_delete_post with no check_ajax_referer/wp_verify_nonce and no current_user_can. Any logged-in role can delete arbitrary products/posts by ID.

    public/class-usb-swiper-public.php:3060-3080

  • high Customer get/delete AJAX lacks ownership and capability checks (IDOR)

    missing_capability

    vt_get_customer_by_id returns full customer records for any customer_id with no merchant_id ownership check (unlike get_customers which scopes by merchant). vt_delete_customer_by_id deletes by id without nonce or ownership verification. Any logged-in user can read or delete other merchants' customer PII.

    public/class-usb-swiper-public.php:4334-4420

  • medium Product create/update AJAX checks nonce but not capability

    missing_capability

    vt_create_update_product verifies vt-add-product-form nonce then creates/updates WC_Product_Simple objects with no current_user_can('edit_products') or merchant ownership check on product_id. Any authenticated user who obtains the frontend nonce can add or edit catalog products.

    public/class-usb-swiper-public.php:2932-3010

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.