Skip to main content

Tainacan EUVDEUVD-2026-111612

| CVE-2026-104743 MEDIUM
Path Traversal (CWE-22)
2026-10-28 Wordfence GHSA-hjqg-w7m7-3cch
4.9
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as editor or higher
  2. Delivery
    Poison importer tmp_file with traversal path
  3. Exploit
    Persist path to database
  4. Execution
    Request /source_info REST endpoint
  5. Impact
    Read arbitrary server file contents

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated account with editor-level privileges or above (PR:H) on a site running the Tainacan plugin ≤1.3.0, and use of the plugin's importer feature: the attacker must first create/update an importer session via the REST importers controller (update_item) to persist an attacker-controlled 'tmp_file' path containing directory-traversal sequences, then issue a separate GET request to the /source_info endpoint which passes that path to fopen() and fgetcsv(). Limiting factors: the editor-level authentication requirement sharply narrows who can exploit this (not anonymous/public); exploitation depends on the vulnerable importer/CSV code path present in versions up to and including 1.3.0, fixed in 1.4.0 where paths are constrained via resolve_allowed_tmp_file() to existing files inside the WordPress uploads directory.

Impact

This is a moderate-severity information-disclosure issue, not an emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N, base 4.9) shows network-reachable, low-complexity exploitation but requires high privileges - the description confirms editor-level access and above, consistent with PR:H. Impact is confined to confidentiality (arbitrary file read); there is no integrity or availability effect. The vuln.today decision label is 'this_month' (not act_now/emergency), aligning with a privileged-only file-read. No EPSS score is provided in the input, the CVE is not listed in CISA KEV, and no working exploit code is referenced - the available links are the Wordfence advisory, WordPress trac source lines, and the fixing GitHub commit, i.e. patch/source evidence rather than an exploit. The practical risk is therefore an authenticated insider or a compromised editor account reading sensitive server files (e.g. wp-config.php); the PR:H requirement meaningfully limits mass exploitation. Signals are internally consistent - no conflict between the CVSS vector and the description, both indicating authenticated (editor+) remote access with confidentiality-only impact.

Exploit ScenarioDerived

An attacker who has obtained editor-level (or higher) access to a WordPress site running Tainacan ≤1.3.0 sends a REST request that stores a traversal path (e.g. ../../../../wp-config.php) in the 'tmp_file' parameter of an importer session, persisting it to the database. A subsequent GET request to the /source_info endpoint passes that attacker-controlled path to fopen()/fgetcsv() and returns the parsed file contents in the REST response, disclosing arbitrary server files. No working exploit code is referenced in the available sources; the low attack complexity (AC:L) means the request itself is simple once editor access is held.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.8% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 28, 2026

Authenticated users with editor-level access or higher on WordPress sites running the Tainacan plugin through version 1.3.0 can read arbitrary files on the web server by planting a directory-traversal path in an importer session and then triggering it through a separate REST request. The tampered 'tmp_file' value is persisted to the database via the importers REST controller and later handed to fopen() and fgetcsv() by the /source_info endpoint, which returns the parsed file contents in the REST response - exposing configuration files, credentials and other sensitive data readable by the PHP process. Severity is moderate (CVSS 4.9, PR:H with C:H/I:N/A:N), the exploit path is gated behind editor-level authentication rather than being anonymous, no public exploit code has been identified at time of analysis, and the flaw is fixed in Tainacan 1.4.0.

RemediationAI

Upgrade the Tainacan plugin to version 1.4.0 or later, which is the release containing the upstream commit that restricts importer attributes to an explicit allow-list and validates 'tmp_file' via resolve_allowed_tmp_file() so only existing files inside the WordPress uploads directory (confirmed by realpath()) can be opened; the 1.4.0 controller source and the Wordfence threat-intel advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/e16bda6d-0818-468b-9114-82a8f5f68caf?source=cve) document the change, and the raw diff is at https://github.com/tainacan/tainacan/commit/1cc2c179d213670ae4bd378473d6fecbc35c6357. If upgrading cannot be done immediately, the practical compensating control is to reduce the number of accounts holding editor-level or higher privileges on sites running Tainacan 1.3.0, since that role is the prerequisite for reaching the importer REST endpoints - the trade-off is that editors lose the ability to manage collections and run imports, and any remaining editor account can still exploit the issue. Deactivating the plugin removes the vulnerable REST routes but also disables all repository and collection functionality; restricting access to the /wp-json Tainacan importer routes at the web-server or WAF layer narrows exposure but will break legitimate importer workflows.

Affected VersionsENISA

Tainacan 0 ≤1.3.0

Affected Packages

euvd tainacan no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-22 path traversal in the Tainacan importer subsystem, a CSV/background-import pipeline implemented in classes/background-process/importer/class-tainacan-csv.php and class-tainacan-importer.php and exposed through classes/api/endpoints/class-tainacan-rest-importers-controller.php. In versions up to and including 1.3.0, the update_item() REST handler iterated over arbitrary body attributes and invoked a dynamic 'set_' . sanitize_key($att) method if it existed, so an attacker with editor privileges could call set_tmp_file() with traversal sequences and have that value saved in the importer session record. The stored path was later consumed without validation: get_tmp_file() returned $this->tmp_file directly, and the CSV importer passed it to fopen() and fgetcsv(), with the parsed rows surfaced by the /source_info endpoint. The 1.4.0 fix (commit 1cc2c179d213670ae4bd378473d6fecbc35c6357) replaces the generic setter loop with an explicit allow-list that only accepts 'url', 'options' and 'collection' attributes (all sanitized and type-checked), and introduces resolve_allowed_tmp_file(), which uses realpath() to require that the path be an existing file inside the WordPress uploads directory - the location media_handle_sideload() writes to - before any file handle is opened.

Know when Tainacan gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 4.9 MEDIUM
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 4.9 MEDIUM

Remotely reachable REST endpoint (AV:N) with simple requests (AC:L) but requires editor-level account (PR:H), no user interaction, yielding arbitrary file read so C:H and I:N/A:N.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

The Tainacan plugin for WordPress is vulnerable to Directory Traversal in all versions up to, and including, 1.3.0 via the 'tmp_file' parameter parameter. This makes it possible for authenticated attackers, with editor-level access and above, to read the contents of arbitrary files on the server, which can contain sensitive information. The poisoned importer path is persisted to the database and later triggered via a separate GET request to the /source_info endpoint, which passes the attacker-controlled path to fopen() and fgetcsv() and returns parsed file contents in the REST response.

Threat Intelligence Overview

EPSS Score
0.8%
Top 42% exploitable
Prevalence
Low
niche GLAM/digital-collections WordPress plugin, limited enterprise footprint
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.8%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

25
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +24
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

CVE-2024-48040 HIGH
8.5 Oct 11

Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') vulnerability in tainacan Tainacan

CVE-2026-90989 MEDIUM POC
4.3 Oct 14

Information disclosure in the Tainacan WordPress plugin before 1.4.0 lets any authenticated subscriber-level user read t

CVE-2026-6230 HIGH
7.5 Jul 08

SQL injection in the Tainacan WordPress plugin (versions ≤ 1.0.3) lets unauthenticated attackers exfiltrate database con

CVE-2024-34794 HIGH
7.1 Jun 03

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in tainacan Tainacan

CVE-2023-47848 HIGH
7.1 Nov 30

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in Tainacan.Org Taina

CVE-2026-95590 HIGH
7.1 Sep 23

SQL injection in the Tainacan WordPress plugin through version 1.2.0 lets an attacker with an authenticated Subscriber-l

CVE-2026-93767 MEDIUM
6.5 Oct 16

Authenticated file disclosure in the Tainacan WordPress plugin (all versions up to and including 1.3.0) allows any logge

CVE-2024-34795 MEDIUM
6.5 Jun 03

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in tainacan Tainacan

CVE-2024-7135 MEDIUM
6.5 Jul 31

The Tainacan plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check on the

CVE-2024-9221 MEDIUM
6.1 Oct 11

The Tainacan plugin for WordPress is vulnerable to Reflected Cross-Site Scripting due to the use of add_query_arg withou

CVE-2024-30529 MEDIUM
5.3 Jun 09

Missing Authorization vulnerability in tainacan Tainacan tainacan.20.7. Rated medium severity (CVSS 5.3), this vulnerabi

CVE-2024-1435 MEDIUM
5.3 Feb 29

Insertion of Sensitive Information Into Sent Data vulnerability in tainacan Tainacan tainacan.20.6. Rated medium severit

References

Advisories & patches

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy