Appmax <= 1.0.3 - Missing Authorization to Order Status Manipulation and Arbitrary Order Creation via Webhook Endpoint
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: yes
- Technical impact: partial
Summary
The Appmax plugin for WordPress is vulnerable to Improper Input Validation in all versions up to, and including, 1.0.3. This is due to the plugin registering a public REST API webhook endpoint at /webhook-system without implementing webhook signature validation, secret verification, or any mechanism to authenticate that incoming webhook requests genuinely originate from the legitimate Appmax payment service. The plugin directly processes untrusted attacker-controlled input from the 'event' and 'data' parameters without verifying the webhook's authenticity. This makes it possible for unauthenticated attackers to craft malicious webhook payloads that can modify the status of existing WooCommerce orders (e.g., changing them to processing, refunded, cancelled, or pending), create entirely new WooCommerce orders with arbitrary data, create new WooCommerce products with attacker-controlled names/descriptions/prices, and write arbitrary values to order post metadata by spoofing legitimate webhook events.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- appmaxplataforma Appmax
through 1.0.3
References 9
plugins.trac.wordpress.org
- browser/appmax/trunk/includes/core/class-appmax-payments-webhook.php#L18
- browser/appmax/tags/1.0.3/includes/core/class-appmax-payments-webhook.php#L18
- browser/appmax/trunk/includes/core/class-appmax-payments-webhook.php#L28
- browser/appmax/tags/1.0.3/includes/core/class-appmax-payments-webhook.php#L28
- browser/appmax/trunk/includes/webhooks/class-appmax-payments-webhook-events.php#L103
- browser/appmax/tags/1.0.3/includes/webhooks/class-appmax-payments-webhook-events.php#L103
- browser/appmax/trunk/includes/webhooks/types/class-appmax-payments-order-paid.php#L56
- browser/appmax/tags/1.0.3/includes/webhooks/types/class-appmax-payments-order-paid.php#L56