{"id":"CVE-2026-84999","kind":"vulnerability","aliases":["CVE-2026-84999"],"related":[],"title":"WordPress Pie Register Premium: unauthenticated file upload leads to remote code execution","description":"The Pie Register Premium plugin for WordPress is vulnerable to Unrestricted File Type Upload in all versions up to, and including, 3.8.4.0 via the piereg_file_upload function. This is due to the plugin performing file type validation via wp_check_filetype and wp_check_filetype_and_ext but never checking whether those validation calls produced errors before move_uploaded_file() is called, combined with no nonce or capability check on the AJAX handler. This makes it possible for unauthenticated attackers to upload files of dangerous types (e.g. PHP scripts) that may be executable, which makes remote code execution possible. The server returns the generated destination filename in the response, giving the attacker the exact path needed to trigger the uploaded file.","summary":"The Pie Register Premium WordPress plugin, up to and including 3.8.4.0, accepts file uploads through its piereg_file_upload AJAX handler without an authentication or nonce check and does not stop uploads that failed file type validation. An unauthenticated attacker can upload a PHP script and run it on the server by requesting the path the response returns.","severity":"critical","cvss":9.8,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","pie-register","self-hosted","wordpress"],"not_affected_if":["patched-version","plugin-not-installed"],"how_to_check":"- Check the installed Pie Register Premium plugin version in the WordPress admin under Plugins, or with `wp plugin get pie-register --field=version` (the slug is unknown from the sources).\n- Look for the handler with `grep -r \"piereg_file_upload\" wp-content/plugins/`.","fix":"- Update Pie Register Premium to a version later than `3.8.4.0`; the exact fixed version is unknown from the sources.\n- Until patched, remove or disable the Pie Register Premium plugin.\n- Search the uploads directories for recently added `.php` files and review them.","status":"open","published_at":"2026-10-28T03:17:16+00:00","first_seen_at":"2026-10-28T03:31:02+00:00","triaged_at":"2026-10-28T03:32:18+00:00","updated_at":"2026-10-28T03:32:18+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-10-28T03:32:18Z","model":"claude-haiku-5-5","output":{"fix":"- Update Pie Register Premium to a version later than `3.8.4.0`; the exact fixed version is unknown from the sources.\n- Until patched, remove or disable the Pie Register Premium plugin.\n- Search the uploads directories for recently added `.php` files and review them.","reach":"internet","title":"WordPress Pie Register Premium: unauthenticated file upload leads to remote code execution","impact":"high","summary":"The Pie Register Premium WordPress plugin, up to and including 3.8.4.0, accepts file uploads through its piereg_file_upload AJAX handler without an authentication or nonce check and does not stop uploads that failed file type validation. An unauthenticated attacker can upload a PHP script and run it on the server by requesting the path the response returns.","category":"package","nicknames":[],"who_cares":["wordpress","self-hosted","pie-register"],"confidence":0.8,"needs_auth":"no","worst_case":"Unauthenticated attacker runs PHP code on the web server.","analyst_note":"Confirm the fixed version and the plugin slug from the NVD entry or the vendor changelog; the sources do not name a patched release.","how_to_check":"- Check the installed Pie Register Premium plugin version in the WordPress admin under Plugins, or with `wp plugin get pie-register --field=version` (the slug is unknown from the sources).\n- Look for the handler with `grep -r \"piereg_file_upload\" wp-content/plugins/`.","needs_analyst":true,"not_affected_if":["plugin-not-installed","patched-version"],"who_is_affected":"Sites running the Pie Register Premium plugin at version 3.8.4.0 or earlier are exposed, because the flawed upload handler is reachable by anyone who can reach the site over HTTP. Sites that do not have this premium plugin installed can skip it.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"critical"},"cost_usd":0.000683,"input_tokens":3469,"output_tokens":673,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'-2026':14A,17A '-84999':15A,18A '3.8.4.0':37B,106C 'accept':38B 'ajax':46B,157C 'attack':66B,165C,197C 'authent':50B 'call':139C,147C 'capabl':153C 'check':53B,125C,129C,135C,154C 'code':11A,182C 'combin':148C 'cve':13A,16A 'danger':170C 'destin':190C 'due':115C 'e.g':172C 'error':141C 'exact':199C 'execut':12A,178C,183C 'ext':132C 'fail':60B 'file':6A,39B,44B,61B,96C,110C,120C,145C,168C,206C 'filenam':191C 'filetyp':126C,130C 'function':112C 'generat':189C 'give':195C 'handler':47B,158C 'host':25B 'includ':36B,105C 'lead':8A 'make':160C,180C 'may':176C 'move':143C 'need':201C 'never':134C 'nonc':52B,151C 'packag':19B 'path':81B,200C 'perform':119C 'php':70B,173C 'pie':2A,21B,28B,86C 'pie-regist':20B 'piereg':43B,109C 'plugin':32B,89C,118C 'possibl':162C,184C 'premium':4A,30B,88C 'produc':140C 'regist':3A,22B,29B,87C 'remot':10A,181C 'request':79B 'respons':83B,194C 'return':84B,187C 'run':73B 'script':71B,174C 'self':24B 'self-host':23B 'server':77B,186C 'stop':57B 'trigger':203C 'type':62B,97C,121C,171C 'unauthent':5A,65B,164C 'unrestrict':95C 'upload':7A,40B,45B,58B,68B,98C,111C,144C,167C,205C 'valid':63B,122C,138C 'version':101C 'via':107C,123C 'vulner':93C 'whether':136C 'without':48B 'wordpress':1A,26B,31B,91C 'wp':124C,128C","nicknames":[],"mitigations":[],"who_affected":"Sites running the Pie Register Premium plugin at version 3.8.4.0 or earlier are exposed, because the flawed upload handler is reachable by anyone who can reach the site over HTTP. Sites that do not have this premium plugin installed can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-28T03:17:16+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-84999","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-84999","severity":null,"published_at":"2026-10-28T03:17:16+00:00","modified_at":"2026-10-28T03:17:16+00:00","first_seen_at":"2026-10-28T03:31:02+00:00","fetched_at":"2026-10-28T03:31:02+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"}