Summary
CVE-2026-40776 is a high-severity Unauthenticated Broken Access Control vulnerability (CWE-862: Missing Authorization) in the Eventin WordPress plugin (wp-event-solution) by Arraytics, affecting all versions up to and including 4.1.8. The flaw allows unauthenticated remote attackers to obtain a valid session nonce without any credentials, then use it to access and exfiltrate sensitive event order records — including attendee names, contact details, and payment information — and forge new orders entirely without a WordPress account. A vendor patch was released in version 4.1.9, and a public proof-of-concept exploit has been published.
Technical details
- Root cause (CWE-862 — Missing Authorization): The plugin registers a REST API endpoint (
/wp-json/eventin/v1/nonce) incore/Admin/hooks.phpwithpermission_callback => '__return_true', meaning any unauthenticated visitor can retrieve a valid WordPress REST nonce with a single GET request — with no login or privilege required. - Nonce misused as authentication: Three authorization-check methods incorrectly treat possession of a nonce as sufficient proof of identity:
OrderController::get_item_permissions_checkgrants access via a logical OR that accepts either a valid WordPress capability or a valid nonce;OrderController::create_item_permissions_checkandPaymentController::create_payment_permission_checkrely solely onwp_verify_nonce(), with no role or capability check at all. - Insecure Direct Object Reference (IDOR):
OrderController::get_itemretrieves order records by sequential post ID without verifying whether the requesting party owns the order, enabling enumeration and exfiltration of all event orders on the site. - Fully open booking endpoint: The
/wp-json/eventin/v2/orders/book-seatsREST route is registered withpermission_callback => function() { return true; }, applying no access control of any kind. - Attack vector: Fully network-based; requires no authentication, no prior account, no special configuration, and no user interaction. A four-step unauthenticated HTTP sequence (obtain nonce → enumerate orders by ID → read PII → forge orders) is sufficient for full exploitation.
- Impact: Complete unauthenticated disclosure of customer order data — full names, email addresses, phone numbers, payment method details, and attendee rosters — and unauthorized creation or modification of event bookings via the WooCommerce-integrated ticketing system.
Affected software
- Eventin – Event Calendar, Event Registration, Tickets & Booking (plugin slug:
wp-event-solution) by Arraytics — all versions ≤ 4.1.8
Severity
CVSS v3.1 Base Score: 7.5 (High)
Vector string: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Mitigation and recommended actions
- Immediate: Update the Eventin plugin to version 4.1.9 or later, which contains the vendor-released security fix.
- If immediate patching is not feasible: Block access to the following REST API routes at the web server or WAF layer until the plugin can be updated:
/wp-json/eventin/v1/nonce/wp-json/eventin/v2/orders(and all sub-paths)/wp-json/eventin/v2/payments/wp-json/eventin/v2/orders/book-seats
IONIX Status
The IONIX research team is tracking ongoing exploitation attempts and recommends immediate patching. Potentially affected assets are outlined in this post.

