[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fMlmsEmCZEDJSp_thuPJ9RgTwatVzA2g_3Q3Ubd09Qew":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":24,"download_link":25,"security_score":26,"vuln_count":14,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":46,"crawl_stats":36,"alternatives":50,"analysis":149,"fingerprints":401},"spark-gf-failed-submissions","Spark GF Failed Submissions","1.3.6","Mark Parnell","https:\u002F\u002Fprofiles.wordpress.org\u002Fmarkparnell\u002F","\u003Cblockquote>\n\u003Cp>This plugin requires \u003Ca href=\"https:\u002F\u002Fgravityforms.com\u002F\" rel=\"nofollow ugc\">Gravity Forms\u003C\u002Fa>.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Ever wonder how often people try to fill in your forms but get an error when they hit submit? Want to be notified when failures suddenly increase?\u003C\u002Fp>\n\u003Cp>So do we, which is why we built this plugin.\u003C\u002Fp>\n","Track failed form submissions and get notified when they reach a customisable threshold. Requires Gravity Forms.",70,7768,80,1,"2025-12-04T23:25:00.000Z","6.9.4","3.0.1","7.0",[20,21,22,23],"failed-submissions","gravity-forms","logging","validation","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fspark-gf-failed-submissions.1.3.6.zip",99,0,"2025-04-10 00:00:00","2026-03-15T15:16:48.613Z",[31],{"id":32,"url_slug":33,"title":34,"description":35,"plugin_slug":4,"theme_slug":36,"affected_versions":37,"patched_in_version":6,"severity":38,"cvss_score":39,"cvss_vector":40,"vuln_type":41,"published_date":28,"updated_date":42,"references":43,"days_to_patch":45},"CVE-2025-32670","spark-gf-failed-submissions-reflected-cross-site-scripting","Spark GF Failed Submissions \u003C= 1.3.5 - Reflected Cross-Site Scripting","The Spark GF Failed Submissions plugin for WordPress is vulnerable to Reflected Cross-Site Scripting in versions up to, and including, 1.3.5 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.",null,"\u003C=1.3.5","medium",6.1,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2025-05-08 18:12:01",[44],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F0963d6ee-6d27-4239-9e31-2750f5217594?source=api-prod",29,{"slug":47,"display_name":7,"profile_url":8,"plugin_count":14,"total_installs":11,"avg_security_score":26,"avg_patch_time_days":45,"trust_score":48,"computed_at":49},"markparnell",93,"2026-04-04T14:43:39.307Z",[51,76,97,116,134],{"slug":52,"name":53,"version":54,"author":55,"author_profile":56,"description":57,"short_description":58,"active_installs":59,"downloaded":60,"rating":61,"num_ratings":62,"last_updated":63,"tested_up_to":64,"requires_at_least":65,"requires_php":24,"tags":66,"homepage":71,"download_link":72,"security_score":73,"vuln_count":74,"unpatched_count":74,"last_vuln_date":75,"fetched_at":29},"real-time-validation-for-gravity-forms","Real Time Validation for Gravity Forms","1.7.0","Daman Jeet","https:\u002F\u002Fprofiles.wordpress.org\u002Fdjeet\u002F","\u003Cp>This plugin ensures that users get the feedback in each field as he types even before the form is submitted.Specific validation messages are shown to user help him quickly rectify the mistakes.\u003C\u002Fp>\n\u003Cp>Major features in Real Time Validation for Gravity Forms include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Ability to turn on\u002Foff Real Time Validation for Gravity Forms on each form.\u003C\u002Fli>\n\u003Cli>Add custom error messages at each field level.\u003C\u002Fli>\n\u003Cli>Works with multi-step forms.\u003C\u002Fli>\n\u003Cli>Works with both environment AJAX \u002F NON-AJAX.\u003C\u002Fli>\n\u003Cli>Works with the Conditional logic of fields.\u003C\u002Fli>\n\u003Cli>Works with Multiple Forms on one page.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fdemo.formsoptimizer.com\u002F\" rel=\"nofollow ugc\">Click Here to Experience Real-Time Validation in Action.\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Works with following fields\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Text \u003C\u002Fli>\n\u003Cli>Textarea\u003C\u002Fli>\n\u003Cli>Select \u003C\u002Fli>\n\u003Cli>Multiselect\u003C\u002Fli>\n\u003Cli>Number\u003C\u002Fli>\n\u003Cli>Radio buttons\u003C\u002Fli>\n\u003Cli>Checkboxes \u003C\u002Fli>\n\u003Cli>Name \u003C\u002Fli>\n\u003Cli>Email \u003C\u002Fli>\n\u003Cli>Phone \u003C\u002Fli>\n\u003Cli>Date \u003C\u002Fli>\n\u003Cli>Address \u003C\u002Fli>\n\u003Cli>Website \u003C\u002Fli>\n\u003Cli>Time \u003C\u002Fli>\n\u003Cli>All Post fields (Except image upload)  \u003C\u002Fli>\n\u003Cli>All Pricing fields\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>** \u003Ca href=\"http:\u002F\u002Fdemo.formsoptimizer.com\u002F\" rel=\"nofollow ugc\">Live Demo Here \u003C\u002Fa>**\u003C\u002Fp>\n\u003Ch4>Learn How To Use\u003C\u002Fh4>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002Fm_bv3eCmvgs?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Cp>Here is the example of how to use hook for success state-\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>jQuery(document).on(“lv_after_field_valid”,function(event,element){\u003Cbr \u002F>\n     jQuery(element).css(“background-color”,”green”);\u003Cbr \u002F>\n  });\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Here is the example of how to use hook for invalid state-\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>jQuery(document).on(“lv_after_field_invalid”,function(event,element){\u003Cbr \u002F>\n     jQuery(element).css(“background-color”,”red”);\u003Cbr \u002F>\n  });\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Latest Updates\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>June , 9th 2018: Added a New Validation for matching Email input confirmation fields\u003C\u002Fli>\n\u003Cli>April , 29th 2018: Compatibility With PHP 7.2\u003C\u002Fli>\n\u003Cli>April , 29th 2018: Compatibility With Gravity Forms 2.3\u003C\u002Fli>\n\u003Cli>December, 21st 2017: Compatibility With Partial Entry addon\u003C\u002Fli>\n\u003Cli>December, 21st 2017: Compatibility upto Gravity Forms 2.2.5\u003C\u002Fli>\n\u003Cli>December, 21st 2016: Compatibility Fix: Multiple forms on one page with real-time validation ON.\u003C\u002Fli>\n\u003Cli>December, 21st 2016: Fix: Checkbox with the conditional logic issue.\u003C\u002Fli>\n\u003Cli>December, 21st 2016: Fix: Multi-step form values were not getting sustained on step change.\u003C\u002Fli>\n\u003Cli>December, 21st 2016: Fix: how to use video and on activation behavior fixed for GF > 2.0.0.\u003C\u002Fli>\n\u003Cli>November, 25th 2016: Fix: Filter Regex for modifiers (flags) to prevent validation failure.\u003C\u002Fli>\n\u003Cli>August, 12th 2016: Fix: Hidden state conflict with conditional logic causing fields to be disabled when the form of modal popups. \u003C\u002Fli>\n\u003Cli>August, 12th 2016: Added: JS Hooks for validation and success. \u003C\u002Fli>\n\u003Cli>August, 12th 2016: Fix: resolved issue of form object turning into boolean TRUE, when we disable notification forever. \u003C\u002Fli>\n\u003Cli>July, 18th 2016:  Fix: Get Param conflict with feeds.\u003C\u002Fli>\n\u003Cli>July, 18th 2016:  Fix: Field setting showing even LV switched off.\u003C\u002Fli>\n\u003Cli>June, 13th 2016:  Fix: Address Line number 2 was marked as required.\u003C\u002Fli>\n\u003Cli>June, 13th 2016:  Fix: Conditional fields getting validated while hidden.\u003C\u002Fli>\n\u003Cli>April, 30th 2016: New \u003Ccode>How to Use\u003C\u002Fcode> Video\u003C\u002Fli>\n\u003Cli>April, 30th 2016: Compatible with the changes happening over form while Validation is in Off state.\u003C\u002Fli>\n\u003Cli>April, 28th 2016: Compatibility with Mozilla Firefox & Safari\u003C\u002Fli>\n\u003Cli>April, 28th 2016: Compatibility with mobile browsers\u003C\u002Fli>\n\u003Cli>April, 28th 2016: Better UI for Notifications\u003C\u002Fli>\n\u003Cli>April, 22th 2016: Added Better User Experience\u003C\u002Fli>\n\u003Cli>April, 22th 2016: Added Documentation \u003C\u002Fli>\n\u003Cli>April, 22th 2016: Added Support section \u003C\u002Fli>\n\u003Cli>April, 22th 2016: Added Pro plugin Documentation\u003C\u002Fli>\n\u003Cli>April, 22th 2016: Added Ajax & multistep support\u003C\u002Fli>\n\u003Cli>April, 19th 2016: Added new admin notices\u003C\u002Fli>\n\u003Cli>April, 18th 2016: Added new Installation Instructions.\u003C\u002Fli>\n\u003Cli>April, 18th 2016: Added a new set of Screenshots.\u003C\u002Fli>\n\u003Cli>April, 18th 2016: Modified Labels and Tooltip’s texts for better understanding.\u003C\u002Fli>\n\u003Cli>April, 16th 2016: Set of popular patterns to choose from.\u003C\u002Fli>\n\u003Cli>April, 16th 2016: Support for Post & Pricing fields.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Upcoming Releases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Dedicated Support Site.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>PS: You’ll need a working Gravity Forms to use it.\u003C\u002Fp>\n","Real Time Validation for Gravity Forms increases conversion rates of your Gravity Form using inline validation messages as user types in field.",2000,61948,90,12,"2018-10-02T11:04:00.000Z","4.9.29","4.2.1",[21,67,68,69,70],"gravity-forms-addon","gravity-forms-fields-validation","jquery-validation","live-validation","https:\u002F\u002Fwisetr.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freal-time-validation-for-gravity-forms.1.7.0.zip",24,3,"2025-05-30 00:00:00",{"slug":77,"name":78,"version":79,"author":80,"author_profile":81,"description":82,"short_description":83,"active_installs":84,"downloaded":85,"rating":86,"num_ratings":14,"last_updated":87,"tested_up_to":88,"requires_at_least":89,"requires_php":24,"tags":90,"homepage":94,"download_link":95,"security_score":96,"vuln_count":27,"unpatched_count":27,"last_vuln_date":36,"fetched_at":29},"reject-urls-and-emails-in-textarea","Reject Urls And Emails In Textarea For (Gravity Forms)","1.1","InternalError503","https:\u002F\u002Fprofiles.wordpress.org\u002Finternalerror503\u002F","\u003Cp>Install this plugin into any WordPress system with a working Gravity Forms plugin and all known \u003Ccode>[URL]\u003C\u002Fcode> or \u003Ccode>[EMAIL]\u003C\u002Fcode> will be rejected and fail validation.\u003Cbr \u002F>\nThis checks the field type \u003Ccode>textarea\u003C\u002Fcode> and does not require any configuration or special settings.\u003Cbr \u002F>\nIts global, if its turned on, then its working.\u003C\u002Fp>\n\u003Cp>This WordPress plugin is brought to you by \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FInternalError503\" rel=\"nofollow ugc\">toady\u003C\u002Fa> from \u003Ca href=\"https:\u002F\u002F8pecxstudios.com\" rel=\"nofollow ugc\">8pecxstudios.com\u003C\u002Fa>\u003C\u002Fp>\n","Prevent URLS & Emails in gravity forms textarea fields.",700,2680,100,"2016-01-27T03:16:00.000Z","4.4.34","3.0",[91,92,21,93,23],"email-detection","gravity","url-detection","https:\u002F\u002Fgithub.com\u002FInternalError503\u002Freject-urls-and-emails-in-textarea","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freject-urls-and-emails-in-textarea.1.1.zip",85,{"slug":98,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":105,"downloaded":106,"rating":86,"num_ratings":107,"last_updated":108,"tested_up_to":16,"requires_at_least":109,"requires_php":110,"tags":111,"homepage":24,"download_link":115,"security_score":86,"vuln_count":27,"unpatched_count":27,"last_vuln_date":36,"fetched_at":29},"gf-real-time-validation","Real Time Validation For Gravity Forms","1.0.4","PluginsCafe","https:\u002F\u002Fprofiles.wordpress.org\u002Fpluginscafe\u002F","\u003Cp>This plugin adds an awesome feature that provides instant feedback and guidance in each field, helps prevent errors, reduces form submission time, and ensures the submission of accurate and complete data. It introduces a dynamic and interactive layer of validation that verifies the data entered by users as they fill out the form in real time.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Add Regular expression in text and number only.\u003C\u002Fli>\n\u003Cli>Ability to turn on\u002Foff for each gravity forms.\u003C\u002Fli>\n\u003Cli>Add validation only on required field.\u003C\u002Fli>\n\u003Cli>Add custom validation message.\u003C\u002Fli>\n\u003Cli>Works with multi-step forms.\u003C\u002Fli>\n\u003Cli>Works with both environment AJAX \u002F NON-AJAX.\u003C\u002Fli>\n\u003Cli>Works with the Conditional logic of fields.\u003C\u002Fli>\n\u003Cli>Works with Multiple Forms on one page.\u003C\u002Fli>\n\u003Cli>Regular expression (New)\u003C\u002Fli>\n\u003Cli>More features coming…\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Works with following fields\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Single Line Text\u003C\u002Fli>\n\u003Cli>Paragraph Text\u003C\u002Fli>\n\u003Cli>Drop Down\u003C\u002Fli>\n\u003Cli>Number\u003C\u002Fli>\n\u003Cli>Checkboxes\u003C\u002Fli>\n\u003Cli>Radio Buttons\u003C\u002Fli>\n\u003Cli>Image Choice (new)\u003C\u002Fli>\n\u003Cli>Multiple Choice (new)\u003C\u002Fli>\n\u003Cli>Name\u003C\u002Fli>\n\u003Cli>Date\u003C\u002Fli>\n\u003Cli>Time\u003C\u002Fli>\n\u003Cli>Phone\u003C\u002Fli>\n\u003Cli>Address\u003C\u002Fli>\n\u003Cli>Website\u003C\u002Fli>\n\u003Cli>Email\u003C\u002Fli>\n\u003Cli>Product\u003C\u002Fli>\n\u003Cli>Quantity\u003C\u002Fli>\n\u003Cli>Option\u003C\u002Fli>\n\u003Cli>Shipping\u003C\u002Fli>\n\u003Cli>More are coming soon.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Regular expression\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>You can apply regular expressions exclusively to text fields.\u003C\u002Fli>\n\u003Cli>Don’t use \u002F before and after of regular expression.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Navigate to the “Advanced” tab of the text field and click on “Enable Real-Time Validation.” This will provide two input boxes: one for entering a regular expression and another for specifying a validation failure message.\u003Cbr \u002F>\nExample:\u003C\u002Fp>\n\u003Cp>^(+?\\d{1,4}[\\s-]?)?((?\\d{3,4})?[\\s-]?)?\\d{3}[\\s-]?\\d{3,4}$\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Our Others Plugins\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Falpha-addons-for-gravity-forms\u002F\" rel=\"ugc\">Alpha Addons for Gravity Forms\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsmart-phone-field-for-gravity-forms\u002F\" rel=\"ugc\">Smart Phone Field for Gravity Forms\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsmart-phone-field-for-wp-forms\u002F\" rel=\"ugc\">Smart Phone Field for Fluent Forms\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsmart-phone-field-for-wp-forms\u002F\" rel=\"ugc\">Smart Phone Field for Contact Form 7\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsmart-phone-field-for-wp-forms\u002F\" rel=\"ugc\">Smart Phone Field for Elementor Form\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fimage-choices-for-gravity-forms\u002F\" rel=\"ugc\">Image Picker for Gravity Forms\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Frange-slider-addon-for-gravity-forms\u002F\" rel=\"ugc\">Range Slider for Gravity Forms\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fgf-google-address-autocomplete\u002F\" rel=\"ugc\">Address AutoComplete for Gravity Forms\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Frestrict-dates-add-on-for-gravity-forms\u002F\" rel=\"ugc\">Restrict Dates for Gravity Forms\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>PHP 7.4\u003C\u002Fli>\n\u003Cli>Gravity Forms 2.8.0 or higher\u003C\u002Fli>\n\u003C\u002Ful>\n","This plugin adds an awesome feature that provides instant feedback and guidance in each field, helps prevent errors.",500,3903,2,"2026-02-01T06:09:00.000Z","5.6","7.4",[112,21,113,114,23],"gf-validation","real-time-validation","real-time","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgf-real-time-validation.1.0.4.zip",{"slug":117,"name":118,"version":119,"author":120,"author_profile":121,"description":122,"short_description":123,"active_installs":86,"downloaded":124,"rating":125,"num_ratings":107,"last_updated":126,"tested_up_to":16,"requires_at_least":127,"requires_php":18,"tags":128,"homepage":131,"download_link":132,"security_score":26,"vuln_count":14,"unpatched_count":27,"last_vuln_date":133,"fetched_at":29},"bsk-gravity-forms-custom-validation","BSK Forms Validation","1.9","bannersky","https:\u002F\u002Fprofiles.wordpress.org\u002Fbannersky\u002F","\u003Cp>This plugin helps you to validate user input and let users submit correct data on Gravity Forms, Formidable Forms. You can apply the defined users to your orders, registration forms, quotations, etc. So you can restrict users to enter correct phone numbers, license numbers, postcodes and VAT numbers for specific regions…\u003C\u002Fp>\n\u003Cp>You can also use checkbox rules to require users to read and agree to your terms, privacy policy, etc.\u003C\u002Fp>\n\u003Cp>Please review the rules below, we would like to hear your rules request.\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>Age must between given years old\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Must be numeric value and between given values\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Must be given value\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Length must same as given number\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>The character at the position X must be\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>The character at the reverse position X must be\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Latitude must be numeric and between given values\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Longitude must be numeric and between given values\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Checkbox options must all be checked\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>We’d like to receive your custom validation request.\u003C\u002Fp>\n\u003Cp>*** Please Note that here is the free version, it only has some basic rules, but it can meet the needs of some customers and help them well.\u003C\u002Fp>\n\u003Cp>Enjory it!\u003C\u002Fp>\n\u003Ch3>Short Description\u003C\u002Fh3>\n\u003Cp>This plugin helps you do custom validation to fields of Gravity Forms, Formidable Forms. Sucha as length, numberic value between given values, agae, Latitude & Longitude……\u003C\u002Fp>\n","This plugin helps you to validate user input and let users submit correct data on Gravity Forms, Formidable Forms. You can apply the defined users to  &hellip;",3547,60,"2025-12-15T03:45:00.000Z","4.0",[129,130,21],"custom-validation","formidable-forms","https:\u002F\u002Fwww.bannersky.com\u002Fgravity-forms-custom-validation\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbsk-gravity-forms-custom-validation.zip","2024-11-20 00:00:00",{"slug":135,"name":136,"version":79,"author":137,"author_profile":138,"description":139,"short_description":140,"active_installs":141,"downloaded":142,"rating":86,"num_ratings":74,"last_updated":143,"tested_up_to":144,"requires_at_least":89,"requires_php":24,"tags":145,"homepage":147,"download_link":148,"security_score":96,"vuln_count":27,"unpatched_count":27,"last_vuln_date":36,"fetched_at":29},"gravity-forms-reject-disposable-emails","Gravity Forms Reject Disposable Emails","ethanpil","https:\u002F\u002Fprofiles.wordpress.org\u002Fethanpil\u002F","\u003Cp>Install this plugin into any WordPress system with a working Gravity Forms plugin and all known disposable email address hosts will be rejected and fail validation. This only checks the field type “email” and does not require any configuration or special settings. Its global, if its turned on, then its working.\u003C\u002Fp>\n\u003Cp>Thanks to adamloving for the initial list: https:\u002F\u002Fgist.github.com\u002Fadamloving\u002F4401361\u003C\u002Fp>\n\u003Cp>This WordPress plugin is brought to you by \u003Ca href=\"https:\u002F\u002Fwww.angeleswebdesign.com\" title=\"Los Angeles Web Design WordPress Experts\" rel=\"nofollow ugc\">Los Angeles Web Design\u003C\u002Fa>\u003C\u002Fp>\n","Reject disposable email addresses in Gravity Forms email fields.",10,6681,"2014-01-10T23:48:00.000Z","3.7.41",[146,92,21,23],"disposable-email","https:\u002F\u002Fgithub.com\u002Fethanpil\u002Fgravityforms-reject-disposable-emails","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgravity-forms-reject-disposable-emails.1.1.zip",{"attackSurface":150,"codeSignals":211,"taintFlows":330,"riskAssessment":388,"analyzedAt":400},{"hooks":151,"ajaxHandlers":207,"restRoutes":208,"shortcodes":209,"cronEvents":210,"entryPointCount":27,"unprotectedCount":27},[152,158,162,167,171,175,179,184,188,192,196,200,204],{"type":153,"name":154,"callback":155,"priority":27,"file":156,"line":157},"filter","gform_validation","maybe_block_submission","includes\\class-spark-gf-failed-submissions-gfaddon.php",47,{"type":153,"name":154,"callback":159,"priority":160,"file":156,"line":161},"check_for_failed_submission",9999,48,{"type":163,"name":164,"callback":165,"priority":141,"file":156,"line":166},"action","gform_form_actions","add_form_action",51,{"type":153,"name":168,"callback":169,"priority":141,"file":156,"line":170},"gform_toolbar_menu","toolbar_menu",52,{"type":153,"name":172,"callback":173,"file":156,"line":174},"gform_addon_navigation","create_menu",53,{"type":153,"name":176,"callback":177,"priority":160,"file":156,"line":178},"gform_validation_message","closure",300,{"type":163,"name":180,"callback":181,"file":182,"line":183},"plugins_loaded","load_plugin_textdomain","includes\\class-spark-gf-failed-submissions.php",134,{"type":163,"name":185,"callback":186,"file":182,"line":187},"gform_loaded","load_gf_addon",143,{"type":163,"name":189,"callback":190,"file":182,"line":191},"admin_init","check_updates",157,{"type":163,"name":193,"callback":194,"priority":141,"file":182,"line":195},"wpmu_new_blog","on_create_blog",158,{"type":153,"name":197,"callback":198,"file":182,"line":199},"wpmu_drop_tables","on_delete_blog",159,{"type":163,"name":201,"callback":202,"file":182,"line":203},"init","register_tables",180,{"type":163,"name":205,"callback":202,"file":182,"line":206},"switch_blog",181,[],[],[],[],{"dangerousFunctions":212,"sqlUsage":213,"outputEscaping":236,"fileOperations":27,"externalRequests":27,"nonceChecks":14,"capabilityChecks":27,"bundledLibraries":329},[],{"prepared":214,"raw":215,"locations":216},15,7,[217,220,223,227,229,232,234],{"file":218,"line":86,"context":219},"admin\\class-spark-gf-failed-submissions-admin.php","$wpdb->get_col() with variable interpolation",{"file":221,"line":222,"context":219},"includes\\class-spark-gf-failed-submissions-activator.php",44,{"file":224,"line":225,"context":226},"includes\\class-spark-gf-failed-submissions-api.php",162,"$wpdb->query() with variable interpolation",{"file":224,"line":228,"context":226},164,{"file":230,"line":231,"context":226},"includes\\class-spark-gf-failed-submissions-db.php",95,{"file":230,"line":233,"context":226},96,{"file":235,"line":170,"context":219},"includes\\class-spark-gf-failed-submissions-deactivator.php",{"escaped":237,"rawEcho":157,"locations":238},28,[239,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,271,273,274,276,277,279,280,282,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,313,315,317,319,321,323,325,327],{"file":156,"line":240,"context":241},498,"raw output",{"file":156,"line":243,"context":241},518,{"file":156,"line":245,"context":241},520,{"file":156,"line":247,"context":241},523,{"file":156,"line":249,"context":241},529,{"file":156,"line":251,"context":241},537,{"file":156,"line":253,"context":241},539,{"file":156,"line":255,"context":241},564,{"file":156,"line":257,"context":241},574,{"file":156,"line":259,"context":241},577,{"file":156,"line":261,"context":241},615,{"file":156,"line":263,"context":241},618,{"file":156,"line":265,"context":241},619,{"file":156,"line":267,"context":241},630,{"file":156,"line":269,"context":241},634,{"file":156,"line":269,"context":241},{"file":156,"line":272,"context":241},635,{"file":156,"line":272,"context":241},{"file":156,"line":275,"context":241},636,{"file":156,"line":275,"context":241},{"file":156,"line":278,"context":241},646,{"file":156,"line":278,"context":241},{"file":156,"line":281,"context":241},653,{"file":156,"line":281,"context":241},{"file":156,"line":284,"context":241},713,{"file":156,"line":286,"context":241},714,{"file":156,"line":288,"context":241},715,{"file":156,"line":290,"context":241},719,{"file":156,"line":292,"context":241},721,{"file":156,"line":294,"context":241},744,{"file":156,"line":296,"context":241},746,{"file":156,"line":298,"context":241},748,{"file":156,"line":300,"context":241},800,{"file":156,"line":302,"context":241},808,{"file":156,"line":304,"context":241},812,{"file":156,"line":306,"context":241},822,{"file":156,"line":308,"context":241},825,{"file":156,"line":310,"context":241},826,{"file":156,"line":312,"context":241},829,{"file":156,"line":314,"context":241},832,{"file":156,"line":316,"context":241},835,{"file":156,"line":318,"context":241},839,{"file":156,"line":320,"context":241},840,{"file":156,"line":322,"context":241},841,{"file":156,"line":324,"context":241},842,{"file":156,"line":326,"context":241},848,{"file":156,"line":328,"context":241},857,[],[331,371],{"entryPoint":332,"graph":333,"unsanitizedCount":27,"severity":370},"admin_page (includes\\class-spark-gf-failed-submissions-gfaddon.php:486)",{"nodes":334,"edges":364},[335,340,345,348,351,355,357,361],{"id":336,"type":337,"label":338,"file":156,"line":339},"n0","source","$_GET (x14)",511,{"id":341,"type":342,"label":343,"file":156,"line":247,"wp_function":344},"n1","sink","echo() [XSS]","echo",{"id":346,"type":337,"label":347,"file":156,"line":84},"n2","$_SERVER",{"id":349,"type":342,"label":343,"file":156,"line":350,"wp_function":344},"n3",704,{"id":352,"type":337,"label":353,"file":156,"line":354},"n4","$_GET['page'] (x2)",705,{"id":356,"type":342,"label":343,"file":156,"line":354,"wp_function":344},"n5",{"id":358,"type":337,"label":359,"file":156,"line":360},"n6","$_REQUEST (x2)",688,{"id":362,"type":342,"label":343,"file":156,"line":363,"wp_function":344},"n7",707,[365,367,368,369],{"from":336,"to":341,"sanitized":366},true,{"from":346,"to":349,"sanitized":366},{"from":352,"to":356,"sanitized":366},{"from":358,"to":362,"sanitized":366},"low",{"entryPoint":372,"graph":373,"unsanitizedCount":27,"severity":370},"\u003Cclass-spark-gf-failed-submissions-gfaddon> (includes\\class-spark-gf-failed-submissions-gfaddon.php:0)",{"nodes":374,"edges":383},[375,376,377,378,379,380,381,382],{"id":336,"type":337,"label":338,"file":156,"line":339},{"id":341,"type":342,"label":343,"file":156,"line":247,"wp_function":344},{"id":346,"type":337,"label":347,"file":156,"line":84},{"id":349,"type":342,"label":343,"file":156,"line":350,"wp_function":344},{"id":352,"type":337,"label":353,"file":156,"line":354},{"id":356,"type":342,"label":343,"file":156,"line":354,"wp_function":344},{"id":358,"type":337,"label":359,"file":156,"line":360},{"id":362,"type":342,"label":343,"file":156,"line":363,"wp_function":344},[384,385,386,387],{"from":336,"to":341,"sanitized":366},{"from":346,"to":349,"sanitized":366},{"from":352,"to":356,"sanitized":366},{"from":358,"to":362,"sanitized":366},{"summary":389,"deductions":390},"The spark-gf-failed-submissions plugin exhibits a mixed security posture. On the positive side, the static analysis reveals a lack of direct attack vectors like AJAX handlers, REST API routes, or shortcodes without proper authentication or permission checks. The absence of dangerous functions, file operations, and external HTTP requests is also encouraging. However, concerns arise from the code signals. With 22 SQL queries, 68% using prepared statements is acceptable but not ideal, leaving room for potential injection flaws if the remaining queries are not handled carefully. The most significant weakness is the low rate of proper output escaping at only 37%, indicating a high risk of Cross-Site Scripting (XSS) vulnerabilities where user-supplied data might be reflected in the output without adequate sanitization.\n\nThe vulnerability history shows one past medium-severity CVE related to XSS, which aligns with the static analysis findings regarding output escaping. While there are no currently unpatched vulnerabilities, the existence of a past XSS issue and the low output escaping rate suggest that this type of vulnerability could be a recurring problem for this plugin. The lack of capability checks on any entry points is a notable omission, potentially allowing unauthorized users to trigger plugin functionality if such entry points were to be discovered or added in the future. The current analysis doesn't highlight critical taint flows, which is a positive sign, but the low output escaping rate remains a significant concern.\n\nIn conclusion, while the plugin benefits from a limited attack surface and the absence of certain dangerous code patterns, the insufficient output escaping is a critical weakness that significantly increases the risk of XSS attacks. The historical presence of an XSS vulnerability further reinforces this concern. Addressing the output escaping and ensuring robust capability checks for any future entry points would greatly improve the plugin's security. The current version appears to have patched its past known vulnerability, but the underlying code quality regarding output sanitization needs improvement.",[391,393,395,398],{"reason":392,"points":214},"Low output escaping rate",{"reason":394,"points":141},"Medium severity CVE in history",{"reason":396,"points":397},"SQL queries not always prepared",5,{"reason":399,"points":397},"No capability checks on entry points","2026-03-16T21:36:10.063Z",{"wat":402,"direct":411},{"assetPaths":403,"generatorPatterns":406,"scriptPaths":407,"versionParams":408},[404,405],"\u002Fwp-content\u002Fplugins\u002Fspark-gf-failed-submissions\u002Fcss\u002Fspark-gf-failed-submissions-admin.css","\u002Fwp-content\u002Fplugins\u002Fspark-gf-failed-submissions\u002Fjs\u002Fspark-gf-failed-submissions-admin.js",[],[405],[409,410],"spark-gf-failed-submissions\u002Fcss\u002Fspark-gf-failed-submissions-admin.css?ver=","spark-gf-failed-submissions\u002Fjs\u002Fspark-gf-failed-submissions-admin.js?ver=",{"cssClasses":412,"htmlComments":413,"htmlAttributes":414,"restEndpoints":415,"jsGlobals":416,"shortcodeOutput":417},[],[],[],[],[],[]]