CVE-2026-0831
Arbitrary File Write in Templately WordPress Plugin Allows File Injection
Publication date: 2026-01-10
Last updated on: 2026-01-10
Assigner: Wordfence
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| templately | templately | to 3.4.8 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-863 | The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
The vulnerability in the Templately WordPress plugin (up to version 3.4.8) is an Arbitrary File Write issue caused by inadequate input validation in the save_template_to_file() function. User-controlled parameters such as session_id, content_id, and ai_page_ids are used to construct file paths without proper sanitization, allowing unauthenticated attackers to write arbitrary .ai.json files to locations within the uploads directory. [2]
How can this vulnerability impact me? :
This vulnerability allows unauthenticated attackers to write arbitrary files within the uploads directory of a WordPress site using the Templately plugin. This can lead to potential unauthorized modification or injection of files, which may be used to manipulate plugin behavior, store malicious payloads, or facilitate further attacks such as code execution or defacement. Although the CVSS score indicates no confidentiality or availability impact, the integrity of the site can be compromised. [2]
How can this vulnerability be detected on my network or system? Can you suggest some commands?
Detection of this vulnerability involves monitoring for unauthorized or suspicious HTTP POST requests to the Templately plugin's AI content REST API endpoints, especially those invoking the `save_template_to_file()` function with user-controlled parameters like `session_id`, `content_id`, and `ai_page_ids`. Since the vulnerability allows unauthenticated arbitrary file writes within the uploads directory, network or system administrators can look for unusual POST requests to endpoints such as `/wp-json/templately/v1/ai-content/ai-update` or `/wp-json/templately/v1/ai-content/ai-update-preview`. Commands to detect such activity could include using web server logs or network monitoring tools to filter for these POST requests. For example, on a Linux server, administrators can use `grep` to search web server access logs for suspicious POST requests: ```bash grep 'POST /wp-json/templately/v1/ai-content/ai-update' /var/log/apache2/access.log grep 'POST /wp-json/templately/v1/ai-content/ai-update-preview' /var/log/apache2/access.log ``` Additionally, monitoring for creation of unexpected `.ai.json` files in the uploads directory (e.g., `wp-content/uploads/templately/tmp/`) can help detect exploitation attempts. Commands like: ```bash find wp-content/uploads/templately/tmp/ -name '*.ai.json' -mtime -7 ``` can list recently created AI JSON files. However, no explicit detection commands are provided in the resources. [1, 2]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include updating the Templately plugin to a version later than 3.4.8 where this vulnerability is presumably fixed, as the vulnerability affects all versions up to and including 3.4.8. Since the vulnerability arises from inadequate input validation in the `save_template_to_file()` function allowing unauthenticated arbitrary file writes, applying the latest security patches or plugin updates is critical. Additionally, restricting access to the vulnerable REST API endpoints or disabling the plugin temporarily until an update is applied can reduce risk. Monitoring and removing any suspicious `.ai.json` files created in the uploads directory is also advisable. The changeset for version 3.4.9 (Resource 3) indicates security improvements such as the addition of signature verification utilities, suggesting that upgrading to 3.4.9 or later mitigates this issue. No explicit mitigation commands or steps are detailed in the resources. [3]