{"id":"CVE-2015-20123","kind":"vulnerability","aliases":["CVE-2015-20123"],"related":[],"title":"WordPress Aspose Doc Exporter: unauthenticated file read exposes wp-config.php","description":"Aspose Doc Exporter plugin for WordPress before 2.0 contains a path traversal vulnerability that allows unauthenticated attackers to download arbitrary files by passing unsanitized paths to readfile(). Attackers can send GET requests to aspose_doc_exporter_download.php with the 'file' parameter set to values like ../../../wp-config.php to retrieve database credentials. Exploitation evidence was first observed by the Shadowserver Foundation on 2023-10-23.","summary":"The Aspose Doc Exporter WordPress plugin before 2.0 passes unsanitized paths to readfile(), so anyone can request arbitrary files. A GET request with a traversal path such as ../../../wp-config.php returns database credentials.","severity":"high","cvss":8.7,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","php","self-hosted","wordpress"],"not_affected_if":["plugin-not-installed","plugin-version-2.0-or-later"],"how_to_check":"Check whether the plugin folder wp-content/plugins/aspose-doc-exporter exists and read its version.\nRequest https://your-site/wp-content/plugins/aspose-doc-exporter/aspose_doc_exporter_download.php and see whether it responds.","fix":"Remove the Aspose Doc Exporter plugin or update to version 2.0 or later.\nAfter updating or removing, rotate database credentials if the plugin was exposed.","status":"open","published_at":"2026-10-20T21:17:12+00:00","first_seen_at":"2026-10-23T21:57:21+00:00","triaged_at":"2026-10-23T22:37:18+00:00","updated_at":"2026-10-23T22:37:18+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-10-23T22:37:18Z","model":"claude-haiku-5-5","output":{"fix":"Remove the Aspose Doc Exporter plugin or update to version 2.0 or later.\nAfter updating or removing, rotate database credentials if the plugin was exposed.","reach":"internet","title":"WordPress Aspose Doc Exporter: unauthenticated file read exposes wp-config.php","impact":"high","summary":"The Aspose Doc Exporter WordPress plugin before 2.0 passes unsanitized paths to readfile(), so anyone can request arbitrary files. A GET request with a traversal path such as ../../../wp-config.php returns database credentials.","category":"package","who_cares":["wordpress","self-hosted","php"],"confidence":0.8,"needs_auth":"no","worst_case":"Attacker reads wp-config.php and gets database credentials.","analyst_note":"Confirm the fixed version and the exact vulnerable path from the plugin's changelog or the NVD entry at https://nvd.nist.gov/vuln/detail/CVE-2015-20123.","how_to_check":"Check whether the plugin folder wp-content/plugins/aspose-doc-exporter exists and read its version.\nRequest https://your-site/wp-content/plugins/aspose-doc-exporter/aspose_doc_exporter_download.php and see whether it responds.\nunknown","needs_analyst":true,"not_affected_if":["plugin-not-installed","plugin-version-2.0-or-later"],"user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"high"},"cost_usd":0.00056,"input_tokens":2978,"output_tokens":525,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-10':112C '-20123':12A,15A '-2015':11A,14A '-23':113C '/../../wp-config.php':50B,96C '2.0':29B,61C '2023':111C 'allow':68C 'anyon':36B 'arbitrari':39B,73C 'aspos':2A,23B,54C 'aspose_doc_exporter_download.php':87C 'attack':70C,81C 'contain':62C 'credenti':53B,100C 'cve':10A,13A 'databas':52B,99C 'doc':3A,24B,55C 'download':72C 'evid':102C 'exploit':101C 'export':4A,25B,56C 'expos':8A 'file':6A,40B,74C,90C 'first':104C 'foundat':109C 'get':42B,84C 'host':20B 'like':95C 'observ':105C 'packag':16B 'paramet':91C 'pass':30B,76C 'path':32B,47B,64C,78C 'php':17B 'plugin':27B,57C 'read':7A 'readfil':34B,80C 'request':38B,43B,85C 'retriev':98C 'return':51B 'self':19B 'self-host':18B 'send':83C 'set':92C 'shadowserv':108C 'travers':46B,65C 'unauthent':5A,69C 'unsanit':31B,77C 'valu':94C 'vulner':66C 'wordpress':1A,21B,26B,59C 'wp-config.php':9A","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-20T21:17:12+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-2015-20123","url":"https://nvd.nist.gov/vuln/detail/CVE-2015-20123","severity":null,"published_at":"2026-10-20T21:17:12+00:00","modified_at":"2026-10-22T17:40:46+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"}