WP Manifestindependent plugin directory
manifest / ecommerce / woonuxt-settings

Settings for WooNuxt WP Registry grade D+. High-severity findings · 3 findingsWP RegistryHigh-severity findings · 3 findingsOpen the reportD+ #5 in eCommerce

WordPress plugin to help setup WooNuxt

★ 26stars
8.2krelease downloads
≈60active sites
2.5.20latest · 18d ago

Install

Download woonuxt-settings.zip From the 2.5.17 release on GitHub, Jul 20, 2026

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

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/scottyzen/woonuxt-settings/releases/download/2.5.17/woonuxt-settings.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Settings for WooNuxt (WordPress Plugin)

This is a WordPress plugin that allows you to use the WooNuxt theme with your WordPress site.

Installation

Download the plugin and upload it to your WordPress site. Activate the plugin and you're good to go. Settings are available in the WordPress admin under Settings > WooNuxt.

Required Plugins

Go to the settings page to quickly help you install the required plugins.

Settings

The plugin has the following settings:

  • Build Hook: The build hook URL from your Netlify or Vercel site.
  • Logo: The logo for your site. This will be used in the header and footer.
  • Front End URL: The URL of your headless frontend.
  • Products Per Page: Number of products to display per page.
  • Primary Color: The primary color for your site. This will be used for buttons, links and other elements.
  • Apple Pay Merchant ID: The native Apple Pay merchant identifier used by Stripe integrations.
  • Global Attributes: The global attributes for your site. These will be used for the product filters.
  • SEO / Social: Social media provider handles and URLs (e.g. Twitter, Facebook).

Stripe Settings

Just manage your Stripe settings as you would normally do in the WordPress admin. The plugin will automatically add the Stripe settings to the GraphQL schema. It will use either the test or live keys depending on the environment you're in.

PayPal Settings

PayPal gateway settings are also exposed via the GraphQL schema automatically when the WooCommerce PayPal gateway is configured.

GraphQL Schema

The plugin will automatically add the woonuxtSettings field to the GraphQL schema. This field will return the settings for your site. Here's an example of the full query:

query getWooNuxtSettings {
  woonuxtSettings {
    # Plugin / WooCommerce version info
    wooCommerceSettingsVersion

    # GraphQL settings
    publicIntrospectionEnabled

    # General settings
    primary_color
    logo
    frontEndUrl
    domain
    maxPrice
    productsPerPage

    # Currency
    currencyCode
    currencySymbol

    # SEO and social media
    wooNuxtSEO {
      provider
      url
      handle
    }

    # Product filtering attributes
    global_attributes {
      label
      slug
      showCount
      hideEmpty
      openByDefault
    }

    # Stripe payment settings
    stripeSettings {
      enabled
      testmode
      test_publishable_key
      publishable_key
      active_publishable_key
      account_id
      apple_pay_merchant_identifier
    }

    # PayPal payment settings
    paypalSettings {
      enabled
      sandbox
      email
    }
  }
}

Releases

Newest 25 of 55 recorded releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
2.5.20 latest
Oct 5, 2026 18d ago
tag only
—
Jul 20, 2026 3mo ago
woonuxt-settings.zip
264
Jul 20, 2026 3mo ago
woonuxt-settings.zip
6
Jun 28, 2026 3mo ago
woonuxt-settings.zip
138
Jun 15, 2026 4mo ago
woonuxt-settings.zip
62
Jun 14, 2026 4mo ago
woonuxt-settings.zip
27
May 3, 2026 5mo ago
woonuxt-settings.zip
699
May 2, 2026 5mo ago
woonuxt-settings.zip
31
Apr 26, 2026 6mo ago
woonuxt-settings.zip
31
Apr 25, 2026 6mo ago
woonuxt-settings.zip
12
Apr 18, 2026 6mo ago
woonuxt-settings-master.zip
8
Apr 3, 2026 6mo ago
woonuxt-settings.zip
67
Mar 23, 2026 7mo ago
woonuxt-settings.zip
39
Feb 22, 2026 8mo ago
woonuxt-settings.zip
184
Feb 22, 2026 8mo ago
woonuxt-settings.zip
4
Feb 22, 2026 8mo ago
woonuxt-settings.zip
5
Feb 8, 2026 8mo ago
woonuxt-settings.zip
56
Jan 5, 2026 9mo ago
woonuxt-settings.zip
269
Oct 11, 2025 1 year ago
woonuxt-settings.zip
292
Aug 13, 2025 1 year ago
woonuxt-settings.zip
173
Jul 24, 2025 1 year ago
woonuxt-settings.zip
109
Jul 15, 2025 1 year ago
woonuxt-settings.zip
57
Mar 31, 2025 1 year ago
woonuxt-settings.zip
1,338
Feb 16, 2025 1 year ago
woonuxt-settings.zip
169
Sep 8, 2024 2 years ago
woonuxt-settings.zip
442
All releases on GitHub →

Active-site estimate ≈60 comes from the median of recent superseded releases. Method.

D+ grade

Security

Settings for WooNuxt 2.5.18 · audited by WP Registry

High-severity findings.

2 high 1 medium
Audited release
2.5.18
Findings
3
Worst severity
high
Content hash
b10f68e41650587080dc7593…

Findings

  • high stripePaymentIntent accepts an arbitrary Stripe customerId with no ownership check

    auth_bypass

    In the PAYMENT branch the resolver maps the authenticated WPGraphQL viewer to a Stripe customer via woonuxt_get_mapped_stripe_customer_id(), then immediately overwrites that mapping if args.customerId matches /^cus_[A-Za-z0-9]+$/. There is no check that the requested cus_ belongs to context->viewer (or to the current cart). create_payment_intent() then sends that customer id to Stripe, and saveForFuture can set setup_future_usage=off_session on it. Combined with User.savedPaymentMethods (which returns token=pm_xxx and customerId=cus_xxx for any publicly queryable User), an attacker who can put an item in a guest cart can mint a PaymentIntent bound to the victim's Stripe customer and confirm it with the leaked payment_method. Even without the leak, any cus_ learned from receipts, logs, or XSS can be targeted. customerId is ignored for SETUP; this is PAYMENT-only but still unauthenticated aside from the cart-total > 0 gate.

    includes/graphql/stripe.php:552-565

    Recommendation

    Ignore client-supplied customerId unless it equals the mapped ID for the authenticated viewer. For guest checkout, pass no Stripe customer (or a guest customer created for that session). Do not set setup_future_usage unless the viewer is authenticated. If a client must send a cus_ (Capacitor/native), verify it server-side against user meta / WC payment tokens for that user_id before calling Stripe.

  • high User.savedPaymentMethods and User.stripeCustomerId leak other users' Stripe tokens

    information_disclosure

    Both fields are registered on GraphQL type User with custom resolvers and no auth/isPrivate. They resolve $source->databaseId (a WPGraphQL allowed_restricted_field, so it is populated even for public/restricted authors) and then call woonuxt_get_mapped_stripe_customer_id() / WC_Payment_Tokens::get_customer_tokens($user_id,'stripe') with no comparison to get_current_user_id() or context->viewer. WPGraphQL User objects are public for users with published posts of GraphQL-exposed types (WooCommerce products, blog posts). An unauthenticated query of product authors therefore returns Stripe customer IDs, payment_method IDs (pm_xxx), last4, expiry, and brand for the store owner or any shop_manager who published a product. That is PCI-adjacent data and the input to the customerId IDOR on stripePaymentIntent. Intended access is viewer { savedPaymentMethods }; the registration on User makes every reachable User node a dump of that user's wallet.

    includes/graphql/stripe.php:592-758

    Recommendation

    Resolve these fields only when intval($source->databaseId) === get_current_user_id() or the WPGraphQL viewer ID; otherwise return null/[]. Prefer registering them on Viewer only, or set auth.callback / isPrivate so unauthenticated and cross-user selections fail. Do not return raw Stripe pm_ / cus_ IDs to any caller that is not the cardholder.

  • medium graphql_data_is_private forces PluginObject public, listing all installed plugins

    information_disclosure

    woonuxt_register_graphql_filters() (hooked from graphql_register_types when WooCommerce is active) adds graphql_data_is_private that returns false whenever $model_name is PluginObject. WPGraphQL\Model\Plugin::is_private() otherwise requires activate_plugins (and on multisite manage_network_plugins / the network plugins menu). After this filter, an unauthenticated { plugins { nodes { name version path author } } } query returns the full installed-plugin inventory, including filesystem paths and versions of WooCommerce, WPGraphQL, security plugins, etc. That is reconnaissance for known-vulnerable companions. The headless storefront does not need this; woonuxtSettings already exposes wooCommerceSettingsVersion for the WooNuxt plugin itself.

    includes/graphql/filters.php:21-23

    Recommendation

    Remove the PluginObject bypass. If the Nuxt app needs a capability flag, add an explicit boolean on woonuxtSettings (e.g. stripeEnabled) instead of opening the entire Plugin type. Keep graphql_data_is_private from forcing other models public.

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.