{"id":"CVE-2026-104734","kind":"vulnerability","aliases":["CVE-2026-104734"],"related":[],"title":"Kirki WordPress plugin: object injection lets authenticated editors trigger code paths","description":"The Kirki – Freeform Page Builder, Website Builder & Customizer plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 6.3.2 via deserialization of untrusted input . This makes it possible for authenticated attackers, with administrator-level access and above, to inject a PHP Object. No known POP chain is present in the vulnerable software, which means this vulnerability has no impact unless another plugin or theme containing a POP chain is installed on the site. If a POP chain is present via an additional plugin or theme installed on the target system, it may allow the attacker to perform actions like delete arbitrary files, retrieve sensitive data, or execute code depending on the POP chain present. By default, Editor-level users are granted FULL_ACCESS to the plugin's import endpoint via the KIRKI_USERS_DEFAULT_FULL_ACCESS configuration, meaning exploitation is possible at Editor privilege level rather than being restricted to administrators alone.","summary":"The Kirki WordPress plugin deserializes untrusted input in versions up to and including 6.3.2, letting an authenticated user inject a PHP object. Without a POP chain in another installed plugin or theme the flaw has no effect, but with one it can lead to arbitrary file deletion, data disclosure or code execution.","severity":"high","cvss":7.2,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["kirki","package","self-hosted","wordpress"],"not_affected_if":["kirki-above-6.3.2","kirki-not-installed"],"how_to_check":"- Check the installed Kirki version in the WordPress admin plugin list or with `wp plugin get kirki --field=version`\n- Check whether the Kirki import endpoint is granted FULL_ACCESS to Editor-level users via the KIRKI_USERS_DEFAULT_FULL_ACCESS setting","fix":"- Update the Kirki plugin to a version later than `6.3.2` (the fixed version number is unknown from the sources)\n- Restrict Editor access to the Kirki import endpoint until the update is applied","status":"open","published_at":"2026-10-17T03:16:27+00:00","first_seen_at":"2026-10-23T21:57:14+00:00","triaged_at":"2026-10-25T03:29:32+00:00","updated_at":"2026-10-25T03:29:32+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-25T03:29:32Z","model":"claude-haiku-5-5","output":{"fix":"- Update the Kirki plugin to a version later than `6.3.2` (the fixed version number is unknown from the sources)\n- Restrict Editor access to the Kirki import endpoint until the update is applied","reach":"internet","title":"Kirki WordPress plugin: object injection lets authenticated editors trigger code paths","impact":"high","summary":"The Kirki WordPress plugin deserializes untrusted input in versions up to and including 6.3.2, letting an authenticated user inject a PHP object. Without a POP chain in another installed plugin or theme the flaw has no effect, but with one it can lead to arbitrary file deletion, data disclosure or code execution.","category":"package","nicknames":[],"who_cares":["wordpress","kirki","self-hosted"],"confidence":0.6,"needs_auth":"yes","worst_case":"Attacker may delete files, read data or run code via a POP chain","analyst_note":"Confirm the fixed Kirki version and whether the default Editor FULL_ACCESS setting is still shipped; check the NVD and the plugin changelog.","how_to_check":"- Check the installed Kirki version in the WordPress admin plugin list or with `wp plugin get kirki --field=version`\n- Check whether the Kirki import endpoint is granted FULL_ACCESS to Editor-level users via the KIRKI_USERS_DEFAULT_FULL_ACCESS setting","needs_analyst":true,"not_affected_if":["kirki-not-installed","kirki-above-6.3.2"],"who_is_affected":"Sites running the Kirki plugin at version 6.3.2 or earlier are affected, and exploitation is possible at Editor level by default, not only by administrators. Exposure becomes serious only if another installed plugin or theme contains a POP chain, so sites with a minimal plugin set carry lower practical risk. Sites without Kirki installed can skip it.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"high"},"cost_usd":0.000699,"input_tokens":3559,"output_tokens":686,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-104734':14A,17A '-2026':13A,16A '6.3.2':37B,100C 'access':117C,206C,219C 'action':180C 'addit':164C 'administr':115C,234C 'administrator-level':114C 'allow':175C 'alon':235C 'anoth':51B,143C 'arbitrari':68B,183C 'attack':112C,177C 'authent':7A,40B,111C 'builder':80C,82C 'chain':49B,128C,150C,159C,195C 'code':10A,74B,190C 'configur':220C 'contain':147C 'custom':83C 'cve':12A,15A 'data':71B,187C 'default':198C,217C 'delet':70B,182C 'depend':191C 'deseri':28B,102C 'disclosur':72B 'editor':8A,200C,226C 'editor-level':199C 'effect':60B 'endpoint':212C 'execut':75B,189C 'exploit':222C 'file':69B,184C 'flaw':57B 'freeform':78C 'full':205C,218C 'grant':204C 'host':22B 'impact':141C 'import':211C 'includ':36B,99C 'inject':5A,42B,92C,121C 'input':30B,105C 'instal':52B,152C,168C 'kirki':1A,18B,25B,77C,215C 'known':126C 'lead':66B 'let':6A,38B 'level':116C,201C,228C 'like':181C 'make':107C 'may':174C 'mean':136C,221C 'object':4A,45B,91C,124C 'one':63B 'packag':19B 'page':79C 'path':11A 'perform':179C 'php':44B,90C,123C 'plugin':3A,27B,53B,84C,144C,165C,209C 'pop':48B,127C,149C,158C,194C 'possibl':109C,224C 'present':130C,161C,196C 'privileg':227C 'rather':229C 'restrict':232C 'retriev':185C 'self':21B 'self-host':20B 'sensit':186C 'site':155C 'softwar':134C 'system':172C 'target':171C 'theme':55B,146C,167C 'trigger':9A 'unless':142C 'untrust':29B,104C 'user':41B,202C,216C 'version':32B,95C 'via':101C,162C,213C 'vulner':88C,133C,138C 'websit':81C 'without':46B 'wordpress':2A,23B,26B,86C","nicknames":[],"mitigations":[],"who_affected":"Sites running the Kirki plugin at version 6.3.2 or earlier are affected, and exploitation is possible at Editor level by default, not only by administrators. Exposure becomes serious only if another installed plugin or theme contains a POP chain, so sites with a minimal plugin set carry lower practical risk. Sites without Kirki installed can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-17T03:16:27+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:H/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-104734","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-104734","severity":null,"published_at":"2026-10-17T03:16:27+00:00","modified_at":"2026-10-19T15:16:45+00:00","first_seen_at":"2026-10-23T21:57:14+00:00","fetched_at":"2026-10-23T22:28:55+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"}