{"id":"CVE-2026-120518","kind":"vulnerability","aliases":["CVE-2026-120518"],"related":[],"title":"BuddyPress XProfile Image Field plugin: unauthenticated arbitrary file deletion on WordPress","description":"The BuddyPress XProfile Image Field plugin for WordPress is vulnerable to arbitrary file deletion in all versions up to, and including, 3.1.0. This is due to bpxp_image_field_update_on_user_activation() calling unlink() on a path built from visitor-supplied signup metadata with no realpath() resolution, no containment check against the profile-image directory and no extension allow-list. Submitting a zero-byte file with the 'field_N_hidden' parameter during registration makes the plugin store the raw value, which is then resolved against the document root when the pending signup is activated. This makes it possible for unauthenticated attackers to delete arbitrary files on the server, which can easily lead to remote code execution when the right file (such as wp-config.php) is deleted. Requires open registration and an image-type profile field on the signup form.","summary":"The BuddyPress XProfile Image Field WordPress plugin, up to and including 3.1.0, deletes files at paths taken from visitor-supplied signup data without checking them. An unauthenticated attacker can delete arbitrary server files, such as wp-config.php, which can lead to remote code execution.","severity":"critical","cvss":9.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["buddypress","package","self-hosted","wordpress"],"not_affected_if":["no-image-profile-field","plugin-above-3.1.0","registration-closed"],"how_to_check":"- Look for the plugin `BuddyPress XProfile Image Field` in the WordPress plugins list and note its version.\n- Check whether open user registration is enabled and whether the signup form includes an image-type profile field.","fix":"- Versions above `3.1.0` of the plugin; the sources do not name a fixed release.","status":"open","published_at":"2026-11-03T05:18:31+00:00","first_seen_at":"2026-11-03T05:48:52+00:00","triaged_at":"2026-11-03T05:49:46+00:00","updated_at":"2026-11-03T05:49:46+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-11-03T05:49:46Z","model":"claude-haiku-5-5","output":{"fix":"- Versions above `3.1.0` of the plugin; the sources do not name a fixed release.","reach":"internet","title":"BuddyPress XProfile Image Field plugin: unauthenticated arbitrary file deletion on WordPress","impact":"high","summary":"The BuddyPress XProfile Image Field WordPress plugin, up to and including 3.1.0, deletes files at paths taken from visitor-supplied signup data without checking them. An unauthenticated attacker can delete arbitrary server files, such as wp-config.php, which can lead to remote code execution.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","buddypress","self-hosted"],"confidence":0.8,"fix_status":"unknown","needs_auth":"no","worst_case":"Attacker deletes wp-config.php and gains remote code execution","analyst_note":"Confirm the fixed plugin version and whether a patched release exists; the sources do not state one.","how_to_check":"- Look for the plugin `BuddyPress XProfile Image Field` in the WordPress plugins list and note its version.\n- Check whether open user registration is enabled and whether the signup form includes an image-type profile field.","plain_action":"","needs_analyst":true,"not_affected_if":["registration-closed","no-image-profile-field","plugin-above-3.1.0"],"who_is_affected":"Sites running the BuddyPress XProfile Image Field plugin at version 3.1.0 or earlier, with open registration and an image-type profile field on the signup form. The flaw is reached through the signup flow, so sites with registration closed or without that field are not exposed. Teams running WordPress sites with BuddyPress should check their plugin version.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"critical"},"cost_usd":0.000743,"input_tokens":4306,"output_tokens":625,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'-120518':14A,17A '-2026':13A,16A '3.1.0':35B,89C 'activ':100C,166C 'allow':130C 'allow-list':129C 'arbitrari':7A,55B,79C,176C 'attack':52B,173C 'bpxp':94C 'buddypress':1A,18B,25B,69C 'built':106C 'byte':136C 'call':101C 'check':48B,119C 'code':66B,187C 'contain':118C 'cve':12A,15A 'data':46B 'delet':9A,36B,54B,81C,175C,197C 'directori':125C 'document':159C 'due':92C 'easili':183C 'execut':67B,188C 'extens':128C 'field':4A,28B,72C,96C,140C,207C 'file':8A,37B,57B,80C,137C,177C,192C 'form':211C 'hidden':142C 'host':22B 'imag':3A,27B,71C,95C,124C,204C 'image-typ':203C 'includ':34B,88C 'lead':63B,184C 'list':131C 'make':146C,168C 'metadata':112C 'n':141C 'open':199C 'packag':19B 'paramet':143C 'path':39B,105C 'pend':163C 'plugin':5A,30B,73C,148C 'possibl':170C 'profil':123C,206C 'profile-imag':122C 'raw':151C 'realpath':115C 'registr':145C,200C 'remot':65B,186C 'requir':198C 'resolut':116C 'resolv':156C 'right':191C 'root':160C 'self':21B 'self-host':20B 'server':56B,180C 'signup':45B,111C,164C,210C 'store':149C 'submit':132C 'suppli':44B,110C 'taken':40B 'type':205C 'unauthent':6A,51B,172C 'unlink':102C 'updat':97C 'user':99C 'valu':152C 'version':84C 'visitor':43B,109C 'visitor-suppli':42B,108C 'vulner':77C 'without':47B 'wordpress':11A,23B,29B,75C 'wp-config.php':60B,195C 'xprofil':2A,26B,70C 'zero':135C 'zero-byt':134C","nicknames":[],"mitigations":[],"who_affected":"Sites running the BuddyPress XProfile Image Field plugin at version 3.1.0 or earlier, with open registration and an image-type profile field on the signup form. The flaw is reached through the signup flow, so sites with registration closed or without that field are not exposed. Teams running WordPress sites with BuddyPress should check their plugin version.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["buddypress","critical","package","selfhosted","wordpress"],"first_public_at":"2026-11-03T05:18:31+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-120518","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120518","severity":null,"published_at":"2026-11-03T05:18:31+00:00","modified_at":"2026-11-03T05:18:31+00:00","first_seen_at":"2026-11-03T05:48:52+00:00","fetched_at":"2026-11-03T05:48:52+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"}