[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$flqeljLAONyvur49pHwh2ULCXKk_m1QoTnk1CQqsu6WM":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":13,"vuln_count":26,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":47,"crawl_stats":36,"alternatives":54,"analysis":97,"fingerprints":221},"pre-publish-checklist","Pre-Publish Checklist","1.1.4","Pratik Chaskar","https:\u002F\u002Fprofiles.wordpress.org\u002Fpratikchaskar\u002F","\u003Ch4>Easiest way to make sure your page or post is ready to go live\u003C\u002Fh4>\n\u003Cp>Is the fear of publishing an incomplete post haunting you already? Do you get worried about tasks like adding a featured image, updating the permalink, etc. just when you are about to click the publish button?\u003C\u002Fp>\n\u003Cp>All of this is handled with an easy to use Pre-Publish Checklist plugin that lets you create a checklist you wish to maintain for every post type on your website. You can build a checklist with necessary tasks and prioritize them by placing them in the required order.\u003C\u002Fp>\n\u003Cp>This will make sure that you are reminded of the remaining tasks before the post goes live.\u003C\u002Fp>\n\u003Cp>Why worry about the things to do when the plugin will do that for you!\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fbsf.io\u002Fpre-publish-checklist-demo\" rel=\"nofollow ugc\">Try it out on a free dummy site\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Key Features of Pre-Publish Checklist:\u003C\u002Fh3>\n\u003Cp>The Pre-Publish Checklist is a useful plugin that lets you monitor whether the posts, pages and custom post types on your website are complete.\u003C\u002Fp>\n\u003Cp>With this plugin you can –\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ccode>Manage a checklist for your pages, posts, custom post types, etc.\u003C\u002Fcode> – The plugin fetches all of them in the settings and you can select where you wish to add the checklist.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>Create dedicated and personalized checklists for each of them\u003C\u002Fcode> – You can choose to create different checklists for pages, posts, etc. depending on the design and needs.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>Overview the progress of posts and pages\u003C\u002Fcode> – You no longer need to open the post or page editor to see whether a checklist is completed. We have added a column that can be seen alongside the list of posts and pages that will tell you whether a checklist is completed, how many items left or if a checklist isn’t added for a particular post type.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>How does it work?\u003C\u002Fh3>\n\u003Cp>The Pre-Publish Checklist plugin lets you create a checklist and enable on the specific post types you wish to have it applied to.\u003C\u002Fp>\n\u003Cp>You can select the message that should be displayed to users when they click on the publish button without completing everything mentioned in the checklist.\u003C\u002Fp>\n\u003Cp>A pre-publish meta box gets added to the post types that you’ve selected and the plugin does its job every time you click the publish button without completing the checklist.\u003C\u002Fp>\n\u003Cp>Here are the points in brief –\u003C\u002Fp>\n\u003Col>\n\u003Cli>Under the General settings tab, select the action you wish to trigger when user clicks on the publish button.\u003C\u002Fli>\n\u003Cli>Select the post types you wish to get this applicable to.\u003C\u002Fli>\n\u003Cli>Create a checklist under the Checklist tab and save!\u003C\u002Fli>\n\u003C\u002Fol>\n","Easiest way to make sure your page or post is ready to go live",1000,30387,100,11,"2026-01-19T12:40:00.000Z","6.6.5","4.7","5.6",[20,21,22,23,4],"blog-publish-checklist","cross-check-post-or-page","editorial-checklist","post-publish-checklist","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpre-publish-checklist.1.1.4.zip",1,0,"2023-09-22 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":38,"severity":39,"cvss_score":40,"cvss_vector":41,"vuln_type":42,"published_date":28,"updated_date":43,"references":44,"days_to_patch":46},"CVE-2023-44151","pre-publish-checklist-insecure-direct-object-reference-to-arbitrary-post-ppcmetakey-update","Pre-Publish Checklist \u003C= 1.1.1 - Insecure Direct Object Reference to Arbitrary Post '_ppc_meta_key' Update","The Pre-Publish Checklist plugin for WordPress is vulnerable to Insecure Direct Object Reference in versions up to, and including, 1.1.1 via the ppc_meta_box_ajax_add_handler and ppc_meta_box_ajax_delete_handler functions due to missing validation on a user controlled key. This can allow authenticated attackers with contributor-level access and above to modify and delete the '_ppc_meta_key' post meta value for arbitrary posts.",null,"\u003C1.1.2","1.1.2","medium",5.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Authorization Bypass Through User-Controlled Key","2024-01-22 19:56:02",[45],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F8e00a06c-9623-48e0-b212-20a2f1e7e640?source=api-prod",123,{"slug":48,"display_name":7,"profile_url":8,"plugin_count":49,"total_installs":50,"avg_security_score":13,"avg_patch_time_days":51,"trust_score":52,"computed_at":53},"pratikchaskar",16,13650,131,79,"2026-04-04T07:17:11.939Z",[55,77],{"slug":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":13,"downloaded":63,"rating":13,"num_ratings":64,"last_updated":65,"tested_up_to":66,"requires_at_least":67,"requires_php":24,"tags":68,"homepage":73,"download_link":74,"security_score":75,"vuln_count":26,"unpatched_count":26,"last_vuln_date":76,"fetched_at":29},"pre-publish-post-checklist","Pre-Publish Post Checklist","3.1","danbriapps","https:\u002F\u002Fprofiles.wordpress.org\u002Fdanbriapps\u002F","\u003Cp>Pre-Publish Post Checklist lets you create todo lists for your WordPress posts.\u003Cbr \u002F>\nYou’ll be able to create custom checklist items and control what happens\u003Cbr \u002F>\nwhen a user tries to publish a post. With Pre-Publish Post Checklist, you’ll never have to worry about accidentally publishing a post.\u003C\u002Fp>\n\u003Cp>How Does It Works\u003C\u002Fp>\n\u003Col>\n\u003Cli>Create a few checklist items like “Check title for SEO” or “Make sure featured image is set”\u003C\u002Fli>\n\u003Cli>Decide what you want to do when a user tries to publish, but hasn’t completed all the items\u003C\u002Fli>\n\u003Cli>Create a new post and start checking those items off!\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>See How It Works\u003C\u002Fp>\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\u002FziFn0Rq2tac?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","With Pre-Publish Post Checklist, you’ll never have to worry about accidentally publishing a post.",7116,5,"2014-11-03T01:31:00.000Z","4.0.38","3.0.1",[69,70,4,71,72],"checklist","confirm-publish","publish-list","quality-list","http:\u002F\u002Fwww.mead.io","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpre-publish-post-checklist.3.1.zip",63,"2025-06-27 00:00:00",{"slug":78,"name":79,"version":80,"author":78,"author_profile":81,"description":82,"short_description":83,"active_installs":27,"downloaded":84,"rating":85,"num_ratings":86,"last_updated":24,"tested_up_to":87,"requires_at_least":88,"requires_php":24,"tags":89,"homepage":94,"download_link":95,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":36,"fetched_at":96},"outreachboard","Outreachboard","1.0.3","https:\u002F\u002Fprofiles.wordpress.org\u002Foutreachboard\u002F","\u003Cp>Outreachboard lets you publish guest articles faster by creating personalized pre-publishing checklists. Authors complete tasks like adding internal links, optimizing images, and inserting alt text before you import and publish content from Outreachboard into your WordPress site.\u003C\u002Fp>\n\u003Cp>It helps you manage guest author content in a dedicated editor and publish it on your blog without giving authors access to your WordPress dashboard. Instead of juggling emails, documents, and images, you can handle everything in one place.\u003C\u002Fp>\n\u003Cp>You decide which types of submissions to accept — topic ideas, full articles, sponsored content, or general requests. You also control the review process and can request edits directly inside the article.\u003C\u002Fp>\n\u003Cp>The plugin flags missing alt text, broken formatting, missing internal links, and more. It also blocks unsupported or risky file types like zip or rar to keep your site secure.\u003C\u002Fp>\n\u003Cp>This is not a content management system. It’s a focused tool to help you accept, review, and publish guest content more efficiently.\u003C\u002Fp>\n\u003Cp>Built for teams and solo editors who want to publish faster while keeping full control over what goes live.\u003C\u002Fp>\n","A plugin that helps automate and manage guest author submissions with checklists, syncing, and secure publishing workflows.",312,94,3,"6.8.5","6.8",[90,91,92,4,93],"automation","content","guest-authors","writing-guidelines","https:\u002F\u002Foutreachboard.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Foutreachboard.1.0.3.zip","2026-03-15T10:48:56.248Z",{"attackSurface":98,"codeSignals":170,"taintFlows":188,"riskAssessment":215,"analyzedAt":220},{"hooks":99,"ajaxHandlers":142,"restRoutes":166,"shortcodes":167,"cronEvents":168,"entryPointCount":169,"unprotectedCount":27},[100,106,110,115,118,122,126,130,134,138,140],{"type":101,"name":102,"callback":103,"file":104,"line":105},"action","admin_enqueue_scripts","ppc_plugin_backend_js","classes\\class-ppc-loader.php",52,{"type":101,"name":107,"callback":108,"file":104,"line":109},"init","ppc_save_data",53,{"type":101,"name":111,"callback":112,"file":113,"line":114},"admin_init","ppc_addition_column_name","classes\\class-ppc-pagesetups.php",55,{"type":101,"name":111,"callback":116,"file":113,"line":117},"ppc_addition_column_data",56,{"type":101,"name":119,"callback":120,"file":113,"line":121},"add_meta_boxes","ppc_add_custom_meta_box",57,{"type":101,"name":123,"callback":124,"file":113,"line":125},"admin_menu","ppc_settings_page",58,{"type":101,"name":127,"callback":128,"file":113,"line":129},"admin_footer","ppc_markup",61,{"type":101,"name":131,"callback":132,"file":113,"line":133},"restrict_manage_posts","add_dropdown",62,{"type":135,"name":136,"callback":137,"file":113,"line":75},"filter","pre_get_posts","posts_filter",{"type":101,"name":111,"callback":107,"priority":64,"file":139,"line":117},"classes\\class-ppc-update.php",{"type":101,"name":141,"callback":107,"priority":64,"file":139,"line":125},"wp",[143,149,152,155,158,162],{"action":144,"nopriv":145,"callback":146,"hasNonce":147,"hasCapCheck":147,"file":104,"line":148},"ppc_checklistitem_add",false,"ppc_add_item",true,54,{"action":150,"nopriv":145,"callback":151,"hasNonce":147,"hasCapCheck":147,"file":104,"line":114},"ppc_checklistitem_delete","ppc_delete_item",{"action":153,"nopriv":145,"callback":154,"hasNonce":147,"hasCapCheck":147,"file":104,"line":117},"ppc_checklistitem_drag","ppc_drag_item",{"action":156,"nopriv":145,"callback":157,"hasNonce":147,"hasCapCheck":147,"file":104,"line":121},"ppc_checklistitem_edit","ppc_edit_item",{"action":159,"nopriv":145,"callback":160,"hasNonce":147,"hasCapCheck":147,"file":113,"line":161},"ppc_ajax_add_change","ppc_meta_box_ajax_add_handler",59,{"action":163,"nopriv":145,"callback":164,"hasNonce":147,"hasCapCheck":147,"file":113,"line":165},"ppc_ajax_delete_change","ppc_meta_box_ajax_delete_handler",60,[],[],[],6,{"dangerousFunctions":171,"sqlUsage":172,"outputEscaping":174,"fileOperations":27,"externalRequests":27,"nonceChecks":185,"capabilityChecks":186,"bundledLibraries":187},[],{"prepared":27,"raw":27,"locations":173},[],{"escaped":175,"rawEcho":176,"locations":177},85,4,[178,181,182,184],{"file":113,"line":179,"context":180},124,"raw output",{"file":113,"line":179,"context":180},{"file":113,"line":183,"context":180},130,{"file":113,"line":183,"context":180},9,7,[],[189,207],{"entryPoint":190,"graph":191,"unsanitizedCount":27,"severity":206},"ppc_save_data (classes\\class-ppc-loader.php:285)",{"nodes":192,"edges":204},[193,198],{"id":194,"type":195,"label":196,"file":104,"line":197},"n0","source","$_POST (x2)",296,{"id":199,"type":200,"label":201,"file":104,"line":202,"wp_function":203},"n1","sink","update_option() [Settings Manipulation]",297,"update_option",[205],{"from":194,"to":199,"sanitized":147},"low",{"entryPoint":208,"graph":209,"unsanitizedCount":27,"severity":206},"\u003Cclass-ppc-loader> (classes\\class-ppc-loader.php:0)",{"nodes":210,"edges":213},[211,212],{"id":194,"type":195,"label":196,"file":104,"line":197},{"id":199,"type":200,"label":201,"file":104,"line":202,"wp_function":203},[214],{"from":194,"to":199,"sanitized":147},{"summary":216,"deductions":217},"The pre-publish-checklist plugin version 1.1.4 exhibits a generally good security posture, with strong adherence to best practices in several critical areas. The static analysis reveals no dangerous functions, all SQL queries are properly prepared, and the vast majority of output is correctly escaped, indicating a focus on preventing common web vulnerabilities. Furthermore, the plugin implements a commendable number of nonce and capability checks across its AJAX handlers, and its attack surface is entirely protected by these measures.  The absence of shortcodes, cron events, and REST API routes, along with no external HTTP requests or file operations, further limits potential attack vectors.\n\nHowever, a review of the vulnerability history reveals one past CVE related to 'Authorization Bypass Through User-Controlled Key'. While this vulnerability is noted as currently unpatched, its specific severity (medium) and the fact that it was identified in September 2023 suggest that it might be addressed in later versions or that its impact is limited. The taint analysis shows no critical or high severity flows, and no unsanitized paths, which is a positive sign. The plugin's strengths lie in its robust input validation and output sanitization, but the past authorization bypass vulnerability, even if medium severity, warrants attention to ensure it remains addressed.",[218],{"reason":219,"points":64},"1 previously patched medium severity CVE","2026-03-16T19:00:54.622Z",{"wat":222,"direct":237},{"assetPaths":223,"generatorPatterns":226,"scriptPaths":227,"versionParams":231},[224,225],"\u002Fwp-content\u002Fplugins\u002Fpre-publish-checklist\u002Fassets\u002Fcss\u002Fppc-backend.css","\u002Fwp-content\u002Fplugins\u002Fpre-publish-checklist\u002Fassets\u002Fcss\u002Fppc-frontend.css",[],[228,229,230],"\u002Fwp-content\u002Fplugins\u002Fpre-publish-checklist\u002Fassets\u002Fjs\u002Fppc-backend.js","\u002Fwp-content\u002Fplugins\u002Fpre-publish-checklist\u002Fassets\u002Fjs\u002Fppc-frontend.js","\u002Fwp-content\u002Fplugins\u002Fpre-publish-checklist\u002Fassets\u002Fjs\u002Fppc-admin-menu.js",[232,233,234,235,236],"pre-publish-checklist\u002Fassets\u002Fcss\u002Fppc-backend.css?ver=","pre-publish-checklist\u002Fassets\u002Fcss\u002Fppc-frontend.css?ver=","pre-publish-checklist\u002Fassets\u002Fjs\u002Fppc-backend.js?ver=","pre-publish-checklist\u002Fassets\u002Fjs\u002Fppc-frontend.js?ver=","pre-publish-checklist\u002Fassets\u002Fjs\u002Fppc-admin-menu.js?ver=",{"cssClasses":238,"htmlComments":242,"htmlAttributes":248,"restEndpoints":252,"jsGlobals":253,"shortcodeOutput":256},[239,240,241],"ppc-checklist-container","ppc-meta-box-wrap","ppc-admin-menu-wrap",[243,244,245,246,247],"\u003C!-- PPC Main Frontpage -->","\u003C!-- PPC Meta Box -->","\u003C!-- PPC Admin Menu -->","\u003C!-- PPC Checklist -->","\u003C!-- PPC Dropdown Filter -->",[249,250,251],"data-ppc-post-type","data-ppc-checklist-item","data-ppc-checklist-status",[],[254,255],"ppc_ajax_object","ppc_data_vars",[]]