{"id":"CVE-2012-20002","kind":"vulnerability","aliases":["CVE-2012-20002"],"related":[],"title":"WordPress TinyMCE Thumbnail Gallery plugin: unauthenticated file read via path traversal","description":"TinyMCE Thumbnail Gallery plugin for WordPress before 1.1.0 contains a path traversal vulnerability that allows unauthenticated attackers to read arbitrary files via the href parameter. Attackers can send GET requests to /php/download-image.php with traversal sequences like ../../../../wp-config.php to retrieve database credentials and system files. Exploitation evidence was first observed by the Shadowserver Foundation on 2023-10-19.","summary":"The TinyMCE Thumbnail Gallery plugin for WordPress before 1.1.0 lets anyone send a GET request to /php/download-image.php with traversal sequences in the href parameter. An attacker can read arbitrary server files such as wp-config.php, exposing database credentials.","severity":"high","cvss":8.7,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","self-hosted","wordpress"],"not_affected_if":["plugin-not-installed","version-1.1.0-or-later"],"how_to_check":"Check the installed plugin version under wp-content/plugins/ (look for the TinyMCE Thumbnail Gallery directory and its version).\nRequest /wp-content/plugins/tinymce-thumbnail-gallery/php/download-image.php and look for a response.","fix":"Update the TinyMCE Thumbnail Gallery plugin to 1.1.0 or later, or remove it.\nRotate database credentials in wp-config.php if the plugin was exposed.","status":"open","published_at":"2026-10-20T21:17:10+00:00","first_seen_at":"2026-10-23T21:57:21+00:00","triaged_at":"2026-10-23T22:37:20+00:00","updated_at":"2026-10-23T22:37:20+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-10-23T22:37:20Z","model":"claude-haiku-5-5","output":{"fix":"Update the TinyMCE Thumbnail Gallery plugin to 1.1.0 or later, or remove it.\nRotate database credentials in wp-config.php if the plugin was exposed.","reach":"internet","title":"WordPress TinyMCE Thumbnail Gallery plugin: unauthenticated file read via path traversal","impact":"high","summary":"The TinyMCE Thumbnail Gallery plugin for WordPress before 1.1.0 lets anyone send a GET request to /php/download-image.php with traversal sequences in the href parameter. An attacker can read arbitrary server files such as wp-config.php, exposing database credentials.","category":"package","who_cares":["wordpress","self-hosted"],"confidence":0.8,"needs_auth":"no","worst_case":"Attackers read wp-config.php and other server files, including database credentials.","analyst_note":"Confirm the exact plugin directory name and the download-image.php path against the NVD entry or the plugin's changelog; sources give no install path beyond the endpoint.","how_to_check":"Check the installed plugin version under wp-content/plugins/ (look for the TinyMCE Thumbnail Gallery directory and its version).\nRequest /wp-content/plugins/tinymce-thumbnail-gallery/php/download-image.php and look for a response.\nunknown","needs_analyst":true,"not_affected_if":["plugin-not-installed","version-1.1.0-or-later"],"user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"high"},"cost_usd":0.000565,"input_tokens":2976,"output_tokens":535,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-10':115C '-19':116C '-20002':14A,17A '-2012':13A,16A '/../../../wp-config.php':96C '/php/download-image.php':39B,91C '1.1.0':31B,67C '2023':114C 'allow':74C 'anyon':33B 'arbitrari':51B,79C 'attack':48B,76C,85C 'contain':68C 'credenti':59B,100C 'cve':12A,15A 'databas':58B,99C 'evid':105C 'exploit':104C 'expos':57B 'file':7A,53B,80C,103C 'first':107C 'foundat':112C 'galleri':4A,26B,62C 'get':36B,88C 'host':21B 'href':45B,83C 'let':32B 'like':95C 'observ':108C 'packag':18B 'paramet':46B,84C 'path':10A,70C 'plugin':5A,27B,63C 'read':8A,50B,78C 'request':37B,89C 'retriev':98C 'self':20B 'self-host':19B 'send':34B,87C 'sequenc':42B,94C 'server':52B 'shadowserv':111C 'system':102C 'thumbnail':3A,25B,61C 'tinymc':2A,24B,60C 'travers':11A,41B,71C,93C 'unauthent':6A,75C 'via':9A,81C 'vulner':72C 'wordpress':1A,22B,29B,65C 'wp-config.php':56B","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-20T21:17:10+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2012-20002","url":"https://nvd.nist.gov/vuln/detail/CVE-2012-20002","severity":null,"published_at":"2026-10-20T21:17:10+00:00","modified_at":"2026-10-23T14:17:29+00:00","first_seen_at":"2026-10-23T21:57:21+00:00","fetched_at":"2026-10-23T22:28:58+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"}