CVE-2026-109931 Overview
CVE-2026-109931 affects the Infility Global WordPress plugin in versions prior to 2.16.25. The plugin exposes an AJAX action to unauthenticated users without authorization or nonce verification. Any site visitor can invoke the action and overwrite a machine-translation configuration value belonging to a companion Infility Global plugin installation.
The weakness is tracked as CWE-862: Missing Authorization. It carries a limited integrity impact and does not expose confidential data or disrupt availability directly. However, altering translation configuration can degrade site content integrity for multilingual WordPress deployments.
Critical Impact
Unauthenticated attackers can modify machine-translation configuration values on affected WordPress sites, undermining content integrity for multilingual deployments.
Affected Products
- Infility Global WordPress plugin versions before 2.16.25
- Companion Infility Global WordPress plugin versions before 2.16.25
- WordPress installations exposing the vulnerable AJAX endpoint to unauthenticated traffic
Discovery Timeline
- 2026-10-22 - CVE-2026-109931 published to the National Vulnerability Database (NVD)
- 2026-10-22 - Last updated in NVD database
Technical Details for CVE-2026-109931
Vulnerability Analysis
The Infility Global WordPress plugin registers an AJAX handler accessible through the wp-admin/admin-ajax.php endpoint. The handler is hooked to both wp_ajax_ and wp_ajax_nopriv_ prefixes, which exposes it to unauthenticated requests. The handler performs no capability check and omits WordPress nonce verification.
An attacker reaching the AJAX endpoint can submit a crafted POST request containing a translation configuration parameter. The plugin writes that value to persistent storage used by a companion Infility Global plugin. The companion plugin consumes the modified configuration during machine-translation rendering, affecting translated output served to site visitors.
The issue is categorized as a Missing Authorization vulnerability [CWE-862]. Impact is limited to integrity of translation configuration data; confidentiality and availability are not directly affected.
Root Cause
The root cause is the absence of two standard WordPress security controls. The handler does not call current_user_can() to verify the caller's capability. It also does not call check_ajax_referer() or wp_verify_nonce() to validate a request-bound nonce. Registering the callback under wp_ajax_nopriv_ without compensating checks grants write access to any anonymous visitor.
Attack Vector
Exploitation requires only network access to the WordPress site. The attacker sends an HTTP POST request to admin-ajax.php with the vulnerable action parameter and the translation configuration payload. No authentication, user interaction, or elevated privileges are required. The attack complexity is elevated by the dependency on a companion plugin being present and configured on the target site.
Further technical details are documented in the WPScan Vulnerability Report.
Detect Identity Attacks the Moment Authentication Fails
Singularity™ Identity surfaces credential misuse, lateral movement, and privilege escalation in real time, so you can contain the breach before it spreads.
Stop Identity AttacksDetection Methods for CVE-2026-109931
Indicators of Compromise
- Unauthenticated POST requests to /wp-admin/admin-ajax.php containing the Infility Global plugin's AJAX action parameter
- Unexpected modifications to Infility Global translation configuration entries in the WordPress wp_options table
- Translated page content rendering with unexpected language settings or endpoint URLs
Detection Strategies
- Enable WordPress audit logging to capture AJAX action invocations and option updates associated with the Infility Global plugin
- Deploy a web application firewall (WAF) rule that blocks unauthenticated requests to the vulnerable AJAX action
- Correlate HTTP request logs against configuration-change timestamps in the plugin's data store
Monitoring Recommendations
- Monitor admin-ajax.php traffic volume and inspect requests originating from unauthenticated sessions
- Alert on write operations to Infility Global plugin option keys outside of administrator sessions
- Track plugin version inventory across managed WordPress sites to confirm patch deployment
How to Mitigate CVE-2026-109931
Immediate Actions Required
- Upgrade the Infility Global WordPress plugin and its companion plugin to version 2.16.25 or later
- Audit the WordPress wp_options table for unauthorized changes to Infility Global translation configuration values
- Restrict access to wp-admin/admin-ajax.php from untrusted sources where feasible
Patch Information
The vendor addressed CVE-2026-109931 in Infility Global plugin version 2.16.25. The fix introduces authorization and nonce verification on the previously unauthenticated AJAX action. Confirmation and release notes are available in the WPScan Vulnerability Report.
Workarounds
- Deactivate the Infility Global plugin until the update to 2.16.25 or later can be applied
- Deploy WAF rules that block anonymous POST requests targeting the vulnerable AJAX action parameter
- Restore known-good translation configuration values from backup if tampering is detected
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

