Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:L
Authenticated customer (PR:L) exploits the network-facing checkout with low complexity; checkout altering the separate provisioning subsystem gives S:C, with high integrity, low availability/cost impact, and no confidentiality loss.
Primary rating from Vendor (https://github.com/Paymenter/Paymenter).
CVSS VectorVendor: https://github.com/Paymenter/Paymenter
Lifecycle Timeline
1DescriptionCVE.org
Summary
The checkout component improperly filters URL-writable properties, allowing authenticated users to inject arbitrary key-value pairs into server provisioning parameters. Because bundled server extensions prioritize these user-supplied properties over administrator-defined configurations, a regular user can override hosting plans and resource limits at checkout without special privileges.
Technical Details
The Checkout Livewire component (app/Livewire/Products/Checkout.php) exposes the $checkoutConfig property to URL query parameters via the #[Url] attribute (aliased as config).
When processing this input:
- Validation rules are dynamically generated *only* for keys explicitly defined by an extension's
getCheckoutConfig()method. Any undefined keys injected into the query parameter bypass validation entirely. - The cart component (
app/Livewire/Cart.php) stores all keys fromcheckout_configdirectly into the database without sanitation:
foreach ($item->checkout_config as $key => $value) {
$service->properties()->updateOrCreate(['key' => $key], ['value' => $value]);
}- During server provisioning, app/Helpers/ExtensionHelper.php retrieves these stored properties and passes them to the extension's createServer() method.
Because of how individual server extensions handle these properties, user-injected data overrides intended administrator settings.
Impact
This is a business logic flaw that allows remote, authenticated users to manipulate server provisioning parameters.
Depending on the active extension, this leads to unauthorized overrides of core resource limits (such as CPU, RAM, storage, or package tiers). No administrative privileges are required to exploit this vulnerability.
AnalysisAI
Server provisioning parameter tampering in Paymenter (a PHP/Laravel billing and hosting-management platform) lets any authenticated customer override administrator-defined hosting plans and resource limits during checkout. By injecting arbitrary key-value pairs into the URL-bound checkout configuration, a low-privileged user can escalate CPU, RAM, storage, or package tiers without admin rights. Rated CVSS 8.5 (CWE-20); no public exploit identified at time of analysis and it is not listed in CISA KEV.
Technical ContextAI
Paymenter is an open-source client-billing and automated-provisioning platform built on Laravel and Livewire, used by hosting resellers to sell and deploy services. The root cause is CWE-20 (Improper Input Validation): the Checkout Livewire component (app/Livewire/Products/Checkout.php) exposes its $checkoutConfig property to URL query parameters through the #[Url] attribute (aliased 'config'). Validation rules are dynamically built only for keys an extension explicitly declares in getCheckoutConfig(), so any undeclared key injected via the query string bypasses validation entirely. The Cart component (app/Livewire/Cart.php) then persists every key from checkout_config straight into the service's properties table via updateOrCreate without sanitization, and ExtensionHelper.php later feeds those stored properties into each extension's createServer() method. Because bundled server extensions give user-supplied properties precedence over administrator-defined configuration, the user input wins. The affected package is identified by CPE pkg:composer/paymenter_paymenter.
RemediationAI
Upgrade to the fixed release identified in GitHub Security Advisory GHSA-5q4q-834j-g8g4 (https://github.com/Paymenter/Paymenter/security/advisories/GHSA-5q4q-834j-g8g4) - the input does not include an exact fix version, so confirm the patched tag directly from that advisory before deploying. Until patched, apply server-side allow-listing so the Checkout component only accepts and stores property keys explicitly declared by the extension's getCheckoutConfig(), discarding any undeclared keys from the 'config' URL parameter; this directly closes the validation-bypass path with minimal user-facing impact. As a further compensating control, have server extensions treat administrator-defined configuration as authoritative and ignore user-supplied overrides for resource limits (CPU/RAM/storage/package tier), and reconcile or reject provisioned services whose stored properties diverge from the ordered plan - note this may break legitimate optional checkout customizations that rely on user-supplied properties.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
Same weakness CWE-20 – Improper Input Validation
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-46096
GHSA-5q4q-834j-g8g4