CVE-2026-0831
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedThe Templately plugin for WordPress is vulnerable to Arbitrary File Write in all versions up to, and including, 3.4.8. This is due to inadequate input validation in the `save_template_to_file()` function where user-controlled parameters like `session_id`, `content_id`, and `ai_page_ids` are used to construct file paths without proper sanitization. This makes it possible for unauthenticated attackers to write arbitrary `.ai.json` files to locations within the uploads directory.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceThe Templately WordPress plugin contains an arbitrary file write vulnerability in the save_template_to_file() function. User-controlled parameters (session_id, content_id, ai_page_ids) are used to construct file paths without sanitization, allowing unauthenticated attackers to write arbitrary .ai.json files to locations within the uploads directory.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- None
- Integrity
- Low
- Availability
- None
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Locate Templately plugin installationCheck the WordPress plugins directory (wp-content/plugins/) for the 'templately' folder, or query the wp_posts table for post_type = 'plugin' and post_name containing 'templately'Affected if The templately folder does not exist in wp-content/plugins/ and no plugin record exists in the database - the plugin is not installed and not vulnerable
-
Identify installed Templately versionOpen the main plugin file (typically templately/includes/Plugin.php or templately/templately.php) and locate the 'Version:' header in the plugin comment block, or query the wp_options table for option_name = 'templately_version'Affected if The version number returned is lower than 3.4.9 (for example, 3.4.8, 3.4.7, 3.3.0, etc.) - the installed version is within the vulnerable range
-
Confirm plugin is activeQuery the wp_options table for option_name = 'active_plugins' and check if the serialized array contains 'templately/templately.php', or check wp_options for option_name = 'templately_activation' with a non-empty valueAffected if The plugin is active - the vulnerable save_template_to_file() function is accessible to unauthenticated requests
-
Verify the vulnerable function existsCheck if the file containing save_template_to_file() exists: look for templately/includes/Core/Export/Importer.php or similar paths that contain the function using grep or a file search, or attempt a safe test by examining plugin file integrityAffected if The save_template_to_file() function is present in the codebase - the arbitrary file write vulnerability exists in the code
A user is affected if the Templately plugin is installed, active, and the installed version is lower than 3.4.9, allowing unauthenticated arbitrary .ai.json file writes to the uploads directory.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scopedUpdate Templately plugin to version 3.4.9 or later. If an update is unavailable, consider disabling or removing the plugin until a patch is released.
Templately 3.4.9 or later (latest available version)
- Log in to the WordPress admin dashboard
- Navigate to Plugins > Installed Plugins
- Find the Templately plugin in the list
- If an update is available, click 'Update Now' to update to the latest version
- Alternatively, download the latest version from the WordPress plugin repository and upload it manually
- Verify the update was successful by checking the plugin version
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation1.0 h
- Implementation1.0 h
- Testing2.0 h
- Review / QA1.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $1,376.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2026-0831 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2026-0831 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data