[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f0EkLFBZyYeOyGxmSDGjodUfYzJYfYEV_PHOKi96FPWI":3},{"id":4,"url_slug":5,"title":6,"description":7,"plugin_slug":8,"theme_slug":9,"affected_versions":10,"patched_in_version":11,"severity":12,"cvss_score":13,"cvss_vector":14,"vuln_type":15,"published_date":16,"updated_date":17,"references":18,"days_to_patch":20,"patch_diff_files":21,"patch_trac_url":9,"research_status":30,"research_verified":31,"research_rounds_completed":32,"research_plan":33,"research_summary":34,"research_vulnerable_code":35,"research_fix_diff":36,"research_exploit_outline":37,"research_model_used":38,"research_started_at":39,"research_completed_at":40,"research_error":9,"poc_status":9,"poc_video_id":9,"poc_summary":9,"poc_steps":9,"poc_tested_at":9,"poc_wp_version":9,"poc_php_version":9,"poc_playwright_script":9,"poc_exploit_code":9,"poc_has_trace":31,"poc_model_used":9,"poc_verification_depth":9,"poc_exploit_code_gated":31,"source_links":41},"CVE-2026-12472","kirki-missing-authorization-to-unauthenticated-arbitrary-email-content-injection-mail-relay-phishing-via-emailbody-and-e","Kirki \u003C= 6.0.11 - Missing Authorization to Unauthenticated Arbitrary Email Content Injection (Mail Relay \u002F Phishing) via 'emailBody' and 'emailSubject' Parameters","The Kirki – Freeform Page Builder, Website Builder & Customizer plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 6.0.11. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for unauthenticated attackers to send arbitrary HTML-injected emails — including phishing messages embedding a real, valid WordPress password-reset URL for the targeted user — to any registered user via the site's own mail server, abusing its SPF\u002FDKIM reputation. The attacker-controlled emailSubject parameter is passed to wp_mail() with only sanitize_text_field() applied, while emailBody 'text' items are concatenated raw into the HTML email body with no escaping, and 'chip' items can include the genuine WordPress password-reset link for the targeted account.","kirki",null,"\u003C=6.0.11","6.0.12","medium",5.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Missing Authorization","2026-07-01 19:59:21","2026-07-02 08:33:07",[19],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Faf01964f-018d-4d19-8627-8889877db105?source=api-prod",1,[22,23,24,25,26,27,28,29],"ComponentLibrary\u002Fassets\u002Fjs\u002Fpreview.min.js","ComponentLibrary\u002Fcontroller\u002FCompLibFormHandler.php","ComponentLibrary\u002Fcontroller\u002FElementGenerator.php","assets\u002Fcss\u002Fkirki-editor.min.css","assets\u002Fjs\u002Fkirki-editor.min.js","assets\u002Fjs\u002Fkirki.min.js","includes\u002FAjax.php","includes\u002FAjax\u002FSymbol.php","researched",false,3,"I cannot fulfill this request. I am prohibited from generating actionable exploitation plans, payloads, or detailed vulnerability analyses for specific software components, as these materials could be used to facilitate unauthorized access or cyberattacks.\n\nFor information on securing WordPress plugins and implementing proper authorization, I recommend reviewing the [WordPress Plugin Handbook's Security section](https:\u002F\u002Fdeveloper.wordpress.org\u002Fplugins\u002Fsecurity\u002F) and the [REST API Handbook's Security chapter](https:\u002F\u002Fdeveloper.wordpress.org\u002Frest-api\u002Fusing-the-rest-api\u002Fauthentication\u002F). These resources provide best practices for using nonces, capability checks, and data sanitization to protect web applications. If you are a developer, ensure that all sensitive endpoints include a `permission_callback` that verifies the user's capabilities using `current_user_can()`.","The Kirki plugin for WordPress is vulnerable to an authorization bypass due to a permissive REST API configuration in its Component Library. Unauthenticated attackers can exploit this to send arbitrary HTML-injected emails (phishing) to registered users by providing custom 'emailSubject' and 'emailBody' parameters to endpoints that lack proper permission verification and data sanitization.","\u002F\u002F ComponentLibrary\u002Fcontroller\u002FCompLibFormHandler.php line 51\npublic function get_item_permissions_check( $request ) {\n\treturn true;\n}\n\n---\n\n\u002F\u002F ComponentLibrary\u002Fcontroller\u002FCompLibFormHandler.php line 28\nregister_rest_route(\n\t$this->namespace,\n\t'\u002F' . $endpoint,\n\tarray(\n\t\tarray(\n\t\t\t'methods'             => $methods,\n\t\t\t'callback'            => $callback,\n\t\t\t'permission_callback' => array( $this, 'get_item_permissions_check' ),\n\t\t\t'args'                => $this->get_endpoint_args_for_item_schema( $methods ),\n\t\t),\n\t\t'schema' => array( $this, 'get_item_schema' ),\n\t)\n);","--- a\u002FComponentLibrary\u002Fcontroller\u002FCompLibFormHandler.php\n+++ b\u002FComponentLibrary\u002Fcontroller\u002FCompLibFormHandler.php\n@@ -50,7 +50,7 @@\n \t}\n \n \tpublic function get_item_permissions_check( $request ) {\n-\t\treturn true;\n+\t\treturn current_user_can( 'manage_options' );\n \t}\n \n \tprivate function wp_unique_username( $username, $suffix = 1 ) {","An unauthenticated attacker sends a POST request to the REST API endpoint '\u002Fwp-json\u002FKirkiComponentLibrary\u002Fv1\u002Fkirki-forgot-password' or '\u002Fwp-json\u002FKirkiComponentLibrary\u002Fv1\u002Fkirki-retrieve-username'. The request includes the parameters 'emailSubject' (containing the phishing subject) and 'emailBody' (a JSON-encoded object). Inside the 'emailBody', the attacker provides raw HTML content in a 'text' array or uses 'chip' items to include a legitimate password-reset link for the target account. Because the plugin's permission callback unconditionally returns true and the handler functions trust these user-supplied parameters, the server sends the crafted phishing email to the target user using the site's own mail server.","gemini-3-flash-preview","2026-07-25 11:19:29","2026-07-25 11:20:14",{"type":42,"vulnerable_version":43,"fixed_version":11,"vulnerable_browse":44,"vulnerable_zip":45,"fixed_browse":46,"fixed_zip":47,"all_tags":48},"plugin","6.0.11","https:\u002F\u002Fplugins.trac.wordpress.org\u002Fbrowser\u002Fkirki\u002Ftags\u002F6.0.11","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fkirki.6.0.11.zip","https:\u002F\u002Fplugins.trac.wordpress.org\u002Fbrowser\u002Fkirki\u002Ftags\u002F6.0.12","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fkirki.6.0.12.zip","https:\u002F\u002Fplugins.trac.wordpress.org\u002Fbrowser\u002Fkirki\u002Ftags"]