CVE-2026-8118: Royal Addons Elementor Plugin Arbitrary File Read Vulnerability
Royal Addons for Elementor, a WordPress plugin for building pages with Elementor, has a file-reading flaw affecting versions 1.7.1058 and 1.7.1059. When handling CSV file uploads in data table widgets, the plugin fails to properly validate file paths. An authenticated user with Contributor-level permission or higher can exploit this to read any file on the server that the PHP process can access—including sensitive configuration files like wp-config.php containing database credentials. The vulnerability stems from a fallback mechanism in a helper function that was added to patch a previous security issue.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 6.5 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
- Weaknesses (CWE)
- CWE-73
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-19 / 2026-06-22
NVD description (verbatim)
The Royal Addons for Elementor – Addons and Templates Kit for Elementor plugin for WordPress is vulnerable to Arbitrary File Read in versions 1.7.1058 through 1.7.1059. This is due to the wpr_get_csv_handle() helper (introduced in version 1.7.1058 as part of the patch for CVE-2026-6229) falling back to is_readable() and fopen($source, 'r') on the attacker-controlled settings.table_upload_csv.url value when it does not parse as an HTTP URL, with no allow-list, traversal block, or extension check. This makes it possible for authenticated attackers, with Contributor-level access and above, to save a crafted wpr-data-table widget through Elementor's save_builder endpoint and have the rendered preview return the line-by-line contents of any file readable by the PHP process, including wp-config.php.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-8118 is a path traversal vulnerability in the wpr_get_csv_handle() function introduced in version 1.7.1058 as a mitigation for CVE-2026-6229. The function accepts a user-controlled URL via the settings.table_upload_csv.url parameter when saving a wpr-data-table widget through Elementor's save_builder endpoint. When the input does not parse as a valid HTTP URL, the function falls back to using PHP's is_readable() and fopen() functions directly on the attacker-supplied path with no validation: no allow-list of permitted directories, no traversal sequence filtering, and no file extension restrictions. The rendered widget preview then returns the file's contents line-by-line, enabling arbitrary file disclosure. The vulnerability requires authentication (Contributor role minimum) and user interaction (saving the widget), but both are low barriers in typical WordPress environments.
Business impact
This vulnerability poses a direct confidentiality risk to WordPress sites running the affected plugin versions. Attackers with contributor access—often granted to freelance writers, content managers, or other non-administrative staff—can extract sensitive files without leaving obvious traces in audit logs. Exposure of wp-config.php leaks database credentials, encryption keys, and API tokens, potentially enabling lateral movement, database compromise, or takeover of third-party integrations. For multi-tenant environments or agencies managing client sites, a single compromised contributor account could expose data across multiple properties. The medium CVSS score reflects the authentication requirement, but the sensitivity of files at risk warrants treating this as a priority remediation.
Affected systems
The Royal Addons for Elementor plugin for WordPress is affected in versions 1.7.1058 and 1.7.1059. Any WordPress installation running these specific versions is at risk if the site permits contributor-level user accounts. Sites that restrict widget editing to administrators or editors only have reduced exposure, though privilege escalation vulnerabilities could lower that bar.
Exploitability
Exploitation requires two conditions: authenticated access with Contributor role or above, and the ability to use Elementor's save_builder endpoint to create or modify a wpr-data-table widget. In practice, this means an attacker must either be a legitimate user (disgruntled employee, compromised account) or have obtained contributor credentials through phishing, password reuse, or a prior vulnerability. The attack itself is straightforward—craft a POST request with a malicious CSV file path in the widget settings and retrieve the preview output. No exploit is currently documented in the KEV catalog, but the mechanics are not complex; tooling could emerge quickly once public details become widely known. The technical barrier to exploitation is low for someone with basic HTTP request manipulation skills.
Remediation
Update the Royal Addons for Elementor plugin to a patched version released after 1.7.1059. Verify the specific version number against the vendor's advisory (linked in the patch guidance below). As an immediate interim measure on sites that cannot patch quickly, restrict Elementor editing and widget creation to administrators only, reducing the attacker surface to high-privilege accounts. Additionally, review database access logs and configuration file read attempts for suspicious activity that may indicate exploitation.
Patch guidance
Monitor the Royal Addons plugin repository and vendor advisory channels for release of a patched version addressing CVE-2026-8118. Apply the update as soon as testing confirms compatibility with your site's other plugins and theme. If you maintain a staging environment, test the patch there first to catch any unexpected interactions. Verify the installed version matches the release notes; the vulnerability spans 1.7.1058–1.7.1059, so confirm your version is newer than 1.7.1059. Check the official plugin page and vendor announcements for any additional guidance or rollback instructions.
Detection guidance
Look for POST requests to wp-admin/admin-ajax.php or the Elementor save_builder endpoint that include suspicious file paths in widget settings—particularly paths containing ../ sequences, references to wp-config.php, /etc/passwd, or other sensitive files. Monitor PHP error logs for is_readable() or fopen() calls on unexpected file paths. Check access logs for unusual patterns: rapid requests to save endpoints from a single user, or uploads of CSV files with non-standard paths. File integrity monitoring on wp-config.php and other sensitive files can detect unexpected read access. Correlate authentication logs with widget-saving events to identify whether edits came from expected users and times. Audit user accounts with Contributor role or above; disable or reset credentials of any accounts not in active use.
Why prioritize this
Although the CVSS score is MEDIUM, the files at risk—wp-config.php and similar configuration data—have very high informational sensitivity. The vulnerability requires only low-privilege authentication and affects a popular plugin. Organizations running Royal Addons should prioritize patching within their normal update cycle (days to weeks, not months). The absence from the KEV catalog suggests exploits are not yet widespread in the wild, but this is a narrow window; patch before public tooling emerges.
Risk score, explained
The CVSS v3.1 score of 6.5 (MEDIUM) reflects authentication and user-interaction requirements: AV:N (network attack vector, can be exploited remotely), AC:L (low complexity, no special conditions), PR:L (low-privilege user account needed), UI:N (no user interaction required from the victim—the attacker saves the widget), S:U (scope unchanged), C:H (high confidentiality impact), I:N (no integrity impact), A:N (no availability impact). While the score is not CRITICAL or HIGH, the confidentiality impact is significant because wp-config.php and similar sensitive files contain cryptographic keys and credentials. Organizations should interpret this as a high-priority file disclosure risk despite the moderate CVSS rating.
Frequently asked questions
Can a WordPress site be compromised if users with Editor or Administrator role are the only ones who can access Elementor?
The vulnerability requires Contributor-level access or above, which includes Contributors, Authors, Editors, and Administrators. If only Editors and Administrators can use Elementor and create widgets, the attack surface is limited to high-privilege accounts. However, if your site has Editor accounts that are not closely managed or are shared, the risk remains. Additionally, privilege escalation vulnerabilities could allow an attacker to elevate from a lower role.
Is there a way to know if this vulnerability was exploited on my site?
Review web server access logs for POST requests to save_builder endpoints or admin-ajax.php that occurred while the vulnerable plugin version was active, cross-referenced with the user account and timestamp. Check PHP error logs for is_readable() or fopen() attempts on sensitive file paths like wp-config.php. File access logs (if available) can show unexpected reads of configuration files. However, if an attacker was careful, evidence may be minimal; a full audit should also include reviewing user account activity and checking for signs of lateral movement or data exfiltration.
Does this vulnerability allow an attacker to modify files or take over the WordPress site?
No. CVE-2026-8118 is a file read-only vulnerability. It allows an attacker to view the contents of files the PHP process can read, but not to write, delete, or modify them. However, if a file like wp-config.php is exposed, the credentials or keys within it could be abused to compromise other systems (databases, APIs) or to escalate privileges within WordPress through a secondary vulnerability.
Is this related to CVE-2026-6229, and was that one patched correctly?
CVE-2026-8118 exists because the patch for CVE-2026-6229 introduced the wpr_get_csv_handle() function as a mitigation, but that function itself contains a flaw. The earlier vulnerability was patched, but the patch was incomplete. This underscores the importance of testing security updates thoroughly before release. When you update to fix CVE-2026-8118, ensure you are applying a version that addresses both vulnerabilities correctly; verify against the vendor's release notes.
This analysis is based on the CVE description and CVSS vector published as of the modification date. Vendor patch versions and release timelines are subject to change; verify against the official Royal Addons plugin repository and vendor advisory for the most current guidance. This document does not constitute legal or compliance advice. Organizations should review their security policies and apply patches according to their risk tolerance and change-management procedures. The absence of a vulnerability from the CISA KEV catalog does not indicate low risk; prioritize patches based on the sensitivity of your systems and data, not solely on KEV inclusion or CVSS score. Source: NVD (public-domain), retrieved 2026-07-28. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2026-10558MEDIUMSourceCodester Pizzafy 1.0 File Inclusion Vulnerability – Admin RCE Risk
- CVE-2026-10559MEDIUMFile Inclusion in SourceCodester Pizzafy Ecommerce System 1.0
- CVE-2026-20175MEDIUMCisco Finesse Remote File Injection via Client-Side Request Validation Bypass
- CVE-2026-2604MEDIUMevolution-data-server Directory Traversal File Deletion Vulnerability
- CVE-2026-41412MEDIUMalf.io Extension Sandbox File Read Vulnerability
- CVE-2026-46397MEDIUMAuthenticated Local File Inclusion in HAX CMS (MEDIUM)
- CVE-2026-48520MEDIUMLangflow Arbitrary File-Read in Public Flows
- CVE-2025-12656LOWWPvivid Plugin Arbitrary Directory Deletion Vulnerability