{"id":"CVE-2026-104743","kind":"vulnerability","aliases":["CVE-2026-104743"],"related":[],"title":"Tainacan WordPress plugin: directory traversal lets editors read server files","description":"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.","summary":"The Tainacan plugin for WordPress up to and including 1.3.0 accepts a crafted 'tmp_file' parameter that is stored and later passed to fopen() and fgetcsv(), so the path is not restricted. An authenticated editor can read arbitrary files on the server, which may include sensitive configuration or credentials, and the contents are returned in the REST response.","severity":"medium","cvss":4.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","self-hosted","tainacan","wordpress"],"not_affected_if":["no-untrusted-editors","patched-version","plugin-not-installed"],"how_to_check":"- Check the installed Tainacan plugin version in the WordPress admin Plugins page; versions `1.3.0` and earlier are affected.\n- Review the Tainacan importer data stored in the database for unusual paths in the 'tmp_file' value.\n- unknown","fix":"- Update the Tainacan plugin to a version later than `1.3.0`, if a fixed release is available; the sources do not name one.\n- Until patched, restrict editor-level accounts on WordPress to trusted users.","status":"open","published_at":"2026-10-28T07:16:43+00:00","first_seen_at":"2026-10-28T07:31:37+00:00","triaged_at":"2026-10-28T07:33:25+00:00","updated_at":"2026-10-28T07:33:25+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-28T07:33:25Z","model":"claude-haiku-5-5","output":{"fix":"- Update the Tainacan plugin to a version later than `1.3.0`, if a fixed release is available; the sources do not name one.\n- Until patched, restrict editor-level accounts on WordPress to trusted users.","reach":"internet","title":"Tainacan WordPress plugin: directory traversal lets editors read server files","impact":"medium","summary":"The Tainacan plugin for WordPress up to and including 1.3.0 accepts a crafted 'tmp_file' parameter that is stored and later passed to fopen() and fgetcsv(), so the path is not restricted. An authenticated editor can read arbitrary files on the server, which may include sensitive configuration or credentials, and the contents are returned in the REST response.","category":"package","nicknames":[],"who_cares":["wordpress","self-hosted","tainacan"],"confidence":0.7,"needs_auth":"yes","worst_case":"Authenticated editors read arbitrary files on the server, including secrets.","analyst_note":"Confirm the fixed Tainacan version and whether the importer path check was added, using the NVD entry and the plugin's changelog.","how_to_check":"- Check the installed Tainacan plugin version in the WordPress admin Plugins page; versions `1.3.0` and earlier are affected.\n- Review the Tainacan importer data stored in the database for unusual paths in the 'tmp_file' value.\n- unknown","needs_analyst":true,"not_affected_if":["plugin-not-installed","patched-version","no-untrusted-editors"],"who_is_affected":"WordPress sites running the Tainacan plugin at version `1.3.0` or earlier where users with editor-level access or above can reach the importer. Sites without Tainacan, or with the plugin on a later version, are not affected. Sites where only administrators can edit content have a smaller exposure but the sources do not say that this removes the risk.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.00068,"input_tokens":3415,"output_tokens":677,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-104743':13A,16A '-2026':12A,15A '/source_info':153C '1.3.0':32B,98C 'accept':33B 'access':116C 'arbitrari':60B,124C 'attack':111C,159C 'attacker-control':158C 'authent':56B,110C 'configur':69B 'contain':131C 'content':74B,122C,170C 'control':160C 'craft':35B 'credenti':71B 'cve':11A,14A 'databas':142C 'directori':4A,89C 'editor':7A,57B,114C 'editor-level':113C 'endpoint':154C 'fgetcsv':48B,165C 'file':10A,37B,61B,102C,125C,169C 'fopen':46B,163C 'get':149C 'host':20B 'import':136C 'includ':31B,67B,97C 'inform':133C 'later':43B,144C 'let':6A 'level':115C 'make':106C 'may':66B 'packag':17B 'paramet':38B,103C,104C 'pars':168C 'pass':44B,156C 'path':51B,137C,161C 'persist':139C 'plugin':3A,25B,83C 'poison':135C 'possibl':108C 'read':8A,59B,120C 'request':150C 'respons':80B,174C 'rest':79B,173C 'restrict':54B 'return':76B,167C 'self':19B 'self-host':18B 'sensit':68B,132C 'separ':148C 'server':9A,64B,128C 'store':41B 'tainacan':1A,21B,24B,82C 'tmp':36B,101C 'travers':5A,90C 'trigger':145C 'version':93C 'via':99C,146C 'vulner':87C 'wordpress':2A,22B,27B,85C","nicknames":[],"mitigations":[],"who_affected":"WordPress sites running the Tainacan plugin at version `1.3.0` or earlier where users with editor-level access or above can reach the importer. Sites without Tainacan, or with the plugin on a later version, are not affected. Sites where only administrators can edit content have a smaller exposure but the sources do not say that this removes the risk.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-28T07:16:43+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-104743","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-104743","severity":null,"published_at":"2026-10-28T07:16:43+00:00","modified_at":"2026-10-28T07:16:43+00:00","first_seen_at":"2026-10-28T07:31:37+00:00","fetched_at":"2026-10-28T07:31:37+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}