[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f3BO7zXsZPmgbgZ3VjADZiv4wmK9pwQRCnuN92Zn-rLk":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":23,"download_link":24,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":37,"analysis":130,"fingerprints":409},"canvas","Canvas","2.5.1","codesupplyco","https:\u002F\u002Fprofiles.wordpress.org\u002Fcodesupplyco\u002F","\u003Cp>Canvas is a powerful, feature-rich block-based page builder that revolutionizes how you create content in WordPress. Built to seamlessly integrate with the WordPress block editor, Canvas enhances your creative workflow with an exceptional combination of advanced functionality and intuitive design.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Diverse Block Collection\u003C\u002Fstrong> – From basic elements to complex layouts, Canvas provides all the building blocks you need: Alert, Progress, Tabs, Collapsibles, Section Headings, and many more.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible Layout System\u003C\u002Fstrong> – Create responsive grid-based layouts with Row and Column blocks, complete with adjustable widths, gaps, and responsive controls.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Rich Media Galleries\u003C\u002Fstrong> – Present your visual content beautifully with Justified Gallery and Slider Gallery blocks with extensive customization options.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced Posts Display\u003C\u002Fstrong> – Showcase your content in various layouts with powerful query controls including filtering by categories, tags, and post types.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Responsive Design Controls\u003C\u002Fstrong> – Ensure your content looks great on all devices with device-specific visibility and styling options.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Styling Flexibility\u003C\u002Fstrong> – Add sophisticated styling with controls for spacing, borders, colors, and more.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Block Extensions\u003C\u002Fstrong> – Extend core WordPress blocks with additional functionality and styling options.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Canvas empowers both developers and content creators to build sophisticated, responsive layouts without writing code. Whether you’re creating blog posts, landing pages, or complex website layouts, Canvas provides the tools you need for professional results with minimal effort.\u003C\u002Fp>\n\u003Cp>Designed with performance in mind, Canvas generates clean, optimized code that won’t slow down your website, ensuring a smooth user experience for your visitors.\u003C\u002Fp>\n\u003Cp>Experience the perfect balance of power and simplicity with Canvas – where exceptional design meets unlimited creative freedom.\u003C\u002Fp>\n","A revolutionary block-based page builder used for building layouts, an interplay of the WordPress block editor features and exceptional UI design.",10000,318229,82,8,"2025-12-03T14:59:00.000Z","6.9.4","4.0","5.4",[20,21,22],"page","template","theme","https:\u002F\u002Fcodesupply.co\u002Fcnvs\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcanvas.2.5.1.zip",100,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":32,"avg_security_score":33,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},5,111000,99,1041,78,"2026-04-04T11:19:30.740Z",[38,61,80,98,114],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":26,"num_ratings":26,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":51,"tags":52,"homepage":58,"download_link":59,"security_score":60,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"theme-file-maker","Theme File Maker","1.0.0","Bainternet","https:\u002F\u002Fprofiles.wordpress.org\u002Fbainternet\u002F","\u003Cp>Lets you to create your own template pages (blank, or with custom loop) without leaving the WordPress Admin and no file uploading is needed.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Create template files form your WordPress admin.  \u003C\u002Fli>\n\u003Cli>Include “get_header”.  \u003C\u002Fli>\n\u003Cli>Include “get_footer”.  \u003C\u002Fli>\n\u003Cli>Custom Query posts options :\u003Cbr \u002F>\n     -Post Type.\u003Cbr \u002F>\n     -Posts in Categories.\u003Cbr \u002F>\n     -More to come.  \u003C\u002Fli>\n\u003Cli>Custom Loop options :\u003Cbr \u002F>\n     -Display Post Title.\u003Cbr \u002F>\n     -Display Post Date.\u003Cbr \u002F>\n     -Display Post Author.\u003Cbr \u002F>\n     -Display Post content or excerpt.\u003Cbr \u002F>\n     -Display Post Thumbnail.\u003Cbr \u002F>\n     -Display Post categories.\u003Cbr \u002F>\n     -Display Post tags.\u003Cbr \u002F>\n    -Display Post Comment meta.\u003Cbr \u002F>\nand more.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>any Feedback is Welcome.\u003C\u002Fp>\n\u003Cp>check out our \u003Ca href=\"http:\u002F\u002Fen.bainternet.info\u002Fcategory\u002Fplugins\" rel=\"nofollow ugc\">other plugins\u003C\u002Fa>\u003C\u002Fp>\n","This plugin Lets you to create your own template pages",80,5330,"2014-09-18T12:22:00.000Z","4.0.0","2.9.2","",[53,54,55,56,57],"template-file","template-maker","theme-generator","theme-maker","theme-page","http:\u002F\u002Fwww.Bainternet.info\u002Fwordpress\u002Fplugins","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftheme-file-maker.1.1.0.zip",85,{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":69,"downloaded":70,"rating":26,"num_ratings":26,"last_updated":71,"tested_up_to":72,"requires_at_least":73,"requires_php":74,"tags":75,"homepage":78,"download_link":79,"security_score":60,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"css-magician","Css Magician Page Builder","1.0.1","prestamagician","https:\u002F\u002Fprofiles.wordpress.org\u002Fprestamagician\u002F","\u003Cp>\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\u002FYJCEHMC4RFk?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>\u003C\u002Fp>\n\u003Cp>No need to be an expert to change your themes settings and add new elements.\u003Cbr \u002F>\nWith Css Magician, you can update your themes when you want and as you want.\u003Cbr \u002F>\nYou can add new elements where you want, really where you want (not in predifined posiiton) and you immediatly see the result.\u003C\u002Fp>\n\u003Cp>There are 12 free widgets in the basic version and we will add anothers in futures updates :\u003Cbr \u002F>\n   * Audio\u003Cbr \u002F>\n   * Button\u003Cbr \u002F>\n   * Divider\u003Cbr \u002F>\n   * HTML editor\u003Cbr \u002F>\n   * Facebook\u003Cbr \u002F>\n   * Icon\u003Cbr \u002F>\n   * Simple image\u003Cbr \u002F>\n   * Google map\u003Cbr \u002F>\n   * Particles effects\u003Cbr \u002F>\n   * Spacer\u003Cbr \u002F>\n   * Title\u003Cbr \u002F>\n   * Video\u003C\u002Fp>\n\u003Cp>And 20 more widgets (therefore 32 in total) in the premium version :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Accordion\u003C\u002Fli>\n\u003Cli>Circular menu\u003C\u002Fli>\n\u003Cli>Customized countdown\u003C\u002Fli>\n\u003Cli>Simple countdown\u003C\u002Fli>\n\u003Cli>Customized counter\u003C\u002Fli>\n\u003Cli>Counter up\u003C\u002Fli>\n\u003Cli>SVG counter\u003C\u002Fli>\n\u003Cli>Facebook comments\u003C\u002Fli>\n\u003Cli>Facebook like\u003C\u002Fli>\n\u003Cli>Facebook share\u003C\u002Fli>\n\u003Cli>Flipbox\u003C\u002Fli>\n\u003Cli>Flying caracters\u003C\u002Fli>\n\u003Cli>Image hotspot\u003C\u002Fli>\n\u003Cli>Image\u002FText\u003C\u002Fli>\n\u003Cli>Scrolling text (marquee)\u003C\u002Fli>\n\u003Cli>Product card\u003C\u002Fli>\n\u003Cli>Slider\u003C\u002Fli>\n\u003Cli>SVG\u003C\u002Fli>\n\u003Cli>Tab\u003C\u002Fli>\n\u003Cli>Background text\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>At any time you can go back to your original theme.\u003Cbr \u002F>\nAnd you can create several themes and choose which one to display with a simple clic.\u003C\u002Fp>\n\u003Ch4>EASU TO USE\u003C\u002Fh4>\n\u003Cp>No need to be an expert to update your theme as you want.\u003Cbr \u002F>\nYou can to do the updates without technicals knowledges.\u003C\u002Fp>\n\u003Ch4>REAL LIVES UPDATES\u003C\u002Fh4>\n\u003Cp>You do your updates and you immediatly see the result.\u003C\u002Fp>\n\u003Ch4>ONLY PUBLISH WHEN YOU WANT\u003C\u002Fh4>\n\u003Cp>You can to do all the updates you want without to publish your work.\u003Cbr \u002F>\nOnly an admin can to see your work.\u003Cbr \u002F>\nAnd when your work is out, you can to publish your work to show it to your visitors.\u003C\u002Fp>\n\u003Ch4>MULTILINGUAL\u003C\u002Fh4>\n\u003Cp>All the new added elements can to be dupplicated and translated in all the languages of your website.\u003C\u002Fp>\n\u003Ch4>Try Css Magician Premium\u003C\u002Fh4>\n\u003Cp>You can test the premium version of \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdemo-css-magician-wp.presta-magician.com\u002F\" rel=\"nofollow ugc\">Css Magician\u003C\u002Fa>\u003C\u002Fstrong> now.\u003C\u002Fp>\n\u003Cp>Here is another example of what it is possible to do with Css Magician:\u003C\u002Fp>\n\u003Cp>\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\u002F8xNDwJdWIvU?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>\u003C\u002Fp>\n\u003Ch4>TRANSLATIONS\u003C\u002Fh4>\n\u003Cp>English\u003Cbr \u002F>\nFrench\u003C\u002Fp>\n\u003Ch4>Documentation and Support\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>If you have any more questions, visit our support on the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fcss-magician\" rel=\"ugc\">Plugin’s Forum\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n","Css Magician is a Frontend page configurator and page builder that work with all themes.",10,1211,"2020-08-10T11:26:00.000Z","5.5.18","5.0","5.6",[76,77,20,21,22],"builder","editor","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcss-magician","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcss-magician.1.0.1.zip",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":69,"downloaded":88,"rating":26,"num_ratings":26,"last_updated":89,"tested_up_to":90,"requires_at_least":91,"requires_php":51,"tags":92,"homepage":96,"download_link":97,"security_score":60,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"demo-content-templates","Demo Content Templates","1.0","pmac8","https:\u002F\u002Fprofiles.wordpress.org\u002Fpmac8\u002F","\u003Cp>This WordPress plugin allows a user to create templates of their page content. This is especially useful when after purchasing\u002Fdownloading a theme, you want to store the demo content but don’t want the content to clutter your pages section.\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>Download and enable the plugin.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Select the Demo Content Settings from the Tools menu.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>From the admin menu, select the pages you want to create templates from. By default, the plugin will keep the hierarchy of the pages. Select the flatten hierarchy option if this is not desired.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>You can now view your templates by going to the Demo Templates post type. You can safely delete the pages.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Demo templates act like pages. Viewing them in the front end will show the content as it looks on a page.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>If you want to add the template to your pages, go to the demo content settings and create the page from the template. This will make a copy.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n","This Wordpress plugin allows a user to create templates of their page content. This is especially useful when after purchasing\u002Fdownloading a theme, yo &hellip;",1321,"2018-02-21T13:27:00.000Z","4.7.32","4.6",[93,94,95],"demo-content","page-template","theme-content","https:\u002F\u002Fgithub.com\u002Fpaulmaclean\u002Fdemo-content-templates","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdemo-content-templates.zip",{"slug":99,"name":100,"version":101,"author":102,"author_profile":103,"description":104,"short_description":105,"active_installs":69,"downloaded":106,"rating":26,"num_ratings":26,"last_updated":107,"tested_up_to":108,"requires_at_least":91,"requires_php":51,"tags":109,"homepage":51,"download_link":112,"security_score":113,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"org-frontpage","Organisation Frontpage","2.0.7","bgin","https:\u002F\u002Fprofiles.wordpress.org\u002Fbgin\u002F","\u003Cp>Dans WordPress il n’y a pas de procédure pour désigner les posts qui doivent figurer sur la frontpage des blogs, lorsque ceux-ci ont une page d’accueil statique.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Ce plugin permet d’assigner à un post le rang qu’il doit occuper sur la page d’accueil.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Pour cela, le plugin ajoute une page “OrgFrontpage” dans le menu “Réglages” du tableau de bord.\u003C\u002Fp>\n\u003Cp>On peut y définir le nombre de posts à faire figurer sur la page d’accueil. Par défaut, ce nombre est fixé à 5.\u003Cbr \u002F>\nDans ce même sous-menu, il est possible de définir le nombre d’articles à mettre en évidence en tête de page. Par défaut, il y en a zéro.\u003Cbr \u002F>\n(Remarque : Le nombre de posts défini pour figurer sur la page d’accueil inclut les posts d’entête).\u003C\u002Fp>\n\u003Cp>Une fois ces paramètres définis, on peut choisir dans une liste déroulante les articles à afficher sur la page d’accueil. La liste contient, par défaut, les 15 derniers articles publiées. Ce nombre est paramétrable.\u003C\u002Fp>\n\u003Cp>De plus, le plugin ajoute une meta box dans la page d’édition des posts\u003Cbr \u002F>\ngrâce à laquelle on peut choisir, au moyen d’une combolist, le rang du post en cours d’édition.\u003C\u002Fp>\n\u003Cp>Enfin, une colonne a été ajoutée dans la liste des posts de l’interface d’administration :\u003Cbr \u002F>\nelle indique, le cas échéant, le rang des posts sur la page d’accueil.\u003C\u002Fp>\n\u003Cp>Les données associées à ce plugin sont stockées dans la table wp-options.\u003Cbr \u002F>\nLes \u003Cem>option-name\u003C\u002Fem> sont :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cem>ofp_nb_posts_frontpage\u003C\u002Fem> : nombre de posts à placer sur la page d’accueil\u003C\u002Fli>\n\u003Cli>\u003Cem>ofp_nb_posts_lead\u003C\u002Fem> : nombre de posts en évidence en tête de page\u003C\u002Fli>\n\u003Cli>\u003Cem>ofp_post_frontpage_N\u003C\u002Fem> : l’ID du post qui occupera le rang N de la page d’accueil\u003C\u002Fli>\n\u003C\u002Ful>\n","Permet de choisir et agencer les posts de la frontpage.",2823,"2024-07-04T21:48:00.000Z","6.2.9",[110,111,21,22],"front-page","frontpage","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Forg-frontpage.zip",92,{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":69,"downloaded":122,"rating":26,"num_ratings":26,"last_updated":123,"tested_up_to":124,"requires_at_least":125,"requires_php":51,"tags":126,"homepage":128,"download_link":129,"security_score":60,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"page-template-inventory","Page Template Inventory","0.2","mitcho (Michael Yoshitaka Erlewine)","https:\u002F\u002Fprofiles.wordpress.org\u002Fmitchoyoshitaka\u002F","\u003Cp>Over the course of the development of a custom theme or application, custom page templates can start to build up. This plugin adds a “template inventory” tool which lets you see which templates are actually used.\u003C\u002Fp>\n\u003Cp>Development of this plugin was supported by \u003Ca href=\"http:\u002F\u002Farts.mit.edu\" rel=\"nofollow ugc\">Arts at MIT\u003C\u002Fa>.\u003C\u002Fp>\n","Over the course of the development of a custom theme or application, custom page templates can start to build up. This plugin adds a \"template in &hellip;",3395,"2011-12-17T04:18:00.000Z","3.3.2","3.0",[127,20,94,21,22],"cleanup","http:\u002F\u002Fmitcho.com\u002Fcode\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpage-template-inventory.0.2.zip",{"attackSurface":131,"codeSignals":340,"taintFlows":374,"riskAssessment":401,"analyzedAt":408},{"hooks":132,"ajaxHandlers":328,"restRoutes":336,"shortcodes":337,"cronEvents":338,"entryPointCount":339,"unprotectedCount":339},[133,138,143,145,146,149,151,153,154,156,157,159,161,163,165,166,168,169,171,172,174,175,177,178,180,181,183,186,187,189,190,193,197,201,203,204,205,208,211,214,217,222,224,228,232,236,239,241,242,247,249,251,255,259,263,267,269,270,275,279,282,285,290,294,298,300,302,305,307,311,316,319,322,325],{"type":134,"name":135,"callback":135,"file":136,"line":137},"action","init","components\\basic-elements\\class-block-alert.php",17,{"type":139,"name":140,"callback":141,"file":136,"line":142},"filter","canvas_register_block_type","register_block_type",18,{"type":134,"name":135,"callback":135,"file":144,"line":137},"components\\basic-elements\\class-block-collapsibles.php",{"type":139,"name":140,"callback":141,"file":144,"line":142},{"type":134,"name":147,"callback":147,"file":148,"line":137},"enqueue_block_editor_assets","components\\basic-elements\\class-block-cover.php",{"type":134,"name":150,"callback":150,"file":148,"line":142},"wp_enqueue_scripts",{"type":134,"name":147,"callback":147,"file":152,"line":137},"components\\basic-elements\\class-block-group.php",{"type":134,"name":150,"callback":150,"file":152,"line":142},{"type":134,"name":135,"callback":135,"file":155,"line":137},"components\\basic-elements\\class-block-progress.php",{"type":139,"name":140,"callback":141,"file":155,"line":142},{"type":134,"name":135,"callback":135,"file":158,"line":137},"components\\basic-elements\\class-block-section-heading.php",{"type":134,"name":160,"callback":160,"priority":31,"file":158,"line":142},"admin_enqueue_scripts",{"type":139,"name":140,"callback":141,"file":158,"line":162},19,{"type":134,"name":135,"callback":135,"file":164,"line":137},"components\\basic-elements\\class-block-tabs.php",{"type":139,"name":140,"callback":141,"file":164,"line":142},{"type":134,"name":135,"callback":135,"file":167,"line":137},"components\\basic-elements\\class-block-widgetized-area.php",{"type":139,"name":140,"callback":141,"file":167,"line":142},{"type":134,"name":147,"callback":147,"file":170,"line":137},"components\\content-formatting\\class-block-heading.php",{"type":134,"name":150,"callback":150,"file":170,"line":142},{"type":134,"name":147,"callback":147,"file":173,"line":137},"components\\content-formatting\\class-block-list.php",{"type":134,"name":150,"callback":150,"file":173,"line":142},{"type":134,"name":147,"callback":147,"file":176,"line":137},"components\\content-formatting\\class-block-paragraph.php",{"type":134,"name":150,"callback":150,"file":176,"line":142},{"type":134,"name":147,"callback":147,"file":179,"line":137},"components\\content-formatting\\class-block-separator.php",{"type":134,"name":150,"callback":150,"file":179,"line":142},{"type":134,"name":147,"callback":147,"file":182,"line":137},"components\\content-formatting\\class-format-badge.php",{"type":134,"name":135,"callback":184,"file":185,"line":137},"block","components\\justified-gallery\\class-block-justified-gallery.php",{"type":139,"name":140,"callback":141,"file":185,"line":142},{"type":134,"name":135,"callback":135,"file":188,"line":137},"components\\layout-blocks\\class-block-row.php",{"type":139,"name":140,"callback":141,"file":188,"line":142},{"type":139,"name":191,"callback":192,"priority":69,"file":188,"line":162},"canvas_blocks_dynamic_css_canvas\u002Frow","row_dynamic_styles",{"type":139,"name":194,"callback":195,"priority":69,"file":188,"line":196},"canvas_blocks_dynamic_css_canvas\u002Fcolumn","column_dynamic_styles",20,{"type":139,"name":198,"callback":199,"priority":69,"file":188,"line":200},"canvas_blocks_dynamic_css_spacings_canvas\u002Fcolumn","spacings_dynamic_styles",21,{"type":134,"name":135,"callback":135,"file":202,"line":137},"components\\layout-blocks\\class-block-section.php",{"type":134,"name":160,"callback":160,"priority":31,"file":202,"line":142},{"type":139,"name":140,"callback":141,"file":202,"line":162},{"type":134,"name":206,"callback":206,"file":207,"line":137},"enqueue_block_assets","components\\posts\\class-block-posts-sidebar.php",{"type":139,"name":209,"callback":210,"priority":33,"file":207,"line":142},"canvas_block_layouts_canvas\u002Fposts","register_layout",{"type":139,"name":212,"callback":213,"priority":69,"file":207,"line":162},"canvas_block_posts_query_args","change_query_args",{"type":134,"name":135,"callback":135,"file":215,"line":216},"components\\posts\\class-block-posts.php",25,{"type":139,"name":218,"callback":219,"priority":220,"file":215,"line":221},"powerkit_share_buttons_locations","share_buttons_location",11,26,{"type":139,"name":140,"callback":141,"file":215,"line":223},27,{"type":139,"name":225,"callback":226,"file":215,"line":227},"canvas_block_template_variables_canvas\u002Fposts","block_template_variables",28,{"type":134,"name":229,"callback":230,"file":215,"line":231},"canvas_block_server_rendered_template_canvas\u002Fposts","block_server_rendered_template",29,{"type":134,"name":233,"callback":233,"priority":234,"file":215,"line":235},"pre_get_posts",1,30,{"type":139,"name":237,"callback":237,"priority":234,"file":215,"line":238},"found_posts",31,{"type":134,"name":135,"callback":184,"file":240,"line":137},"components\\slider-gallery\\class-block-slider-gallery.php",{"type":139,"name":140,"callback":141,"file":240,"line":142},{"type":134,"name":243,"callback":244,"file":245,"line":246},"block_categories_all","block_categories","core\\class-canvas-gutenberg.php",41,{"type":134,"name":244,"callback":244,"file":245,"line":248},43,{"type":134,"name":147,"callback":147,"file":245,"line":250},46,{"type":139,"name":252,"callback":253,"file":245,"line":254},"widget_block_content","widget_all_content",47,{"type":134,"name":256,"callback":257,"file":245,"line":258},"wp_head","content_render_blocks_css",48,{"type":134,"name":260,"callback":261,"file":245,"line":262},"wp_footer","widget_render_blocks_css",49,{"type":134,"name":135,"callback":264,"file":265,"line":266},"add_custom_post_type","core\\class-canvas-layouts.php",22,{"type":134,"name":147,"callback":147,"file":265,"line":268},24,{"type":134,"name":160,"callback":160,"file":265,"line":216},{"type":139,"name":271,"callback":272,"file":273,"line":274},"theme_page_templates","add_new_template","core\\class-canvas-page-templates.php",32,{"type":139,"name":276,"callback":277,"file":273,"line":278},"page_attributes_dropdown_pages_args","register_project_templates",35,{"type":139,"name":280,"callback":277,"file":273,"line":281},"wp_insert_post_data",38,{"type":139,"name":283,"callback":284,"file":273,"line":246},"template_include","view_project_template",{"type":134,"name":286,"callback":287,"file":288,"line":289},"canvas_plugin_activation","activation","core\\class-canvas.php",101,{"type":134,"name":291,"callback":292,"file":288,"line":293},"plugins_loaded","check_version",102,{"type":134,"name":295,"callback":296,"file":288,"line":297},"amp_post_template_css","amp_enqueue_styles",103,{"type":134,"name":160,"callback":160,"priority":31,"file":288,"line":299},104,{"type":134,"name":150,"callback":150,"priority":31,"file":288,"line":301},105,{"type":134,"name":303,"callback":303,"file":288,"line":304},"after_setup_theme",106,{"type":134,"name":256,"callback":256,"priority":31,"file":288,"line":306},107,{"type":139,"name":308,"callback":309,"file":310,"line":200},"powerkit_pinit_exclude_selectors","cnvs_powerkit_pinit_disable","core\\core-canvas-filters.php",{"type":134,"name":312,"callback":313,"priority":33,"file":314,"line":315},"rest_api_init","closure","gutenberg\\block_renderer_controller.php",178,{"type":134,"name":135,"callback":141,"priority":317,"file":318,"line":142},12,"gutenberg\\custom-blocks\\index.php",{"type":134,"name":320,"callback":321,"priority":69,"file":318,"line":162},"canvas_blocks_dynamic_css","blocks_dynamic_css",{"type":139,"name":323,"callback":324,"file":318,"line":200},"canvas_block_convert_fields_to_attributes","convert_fields_to_attributes",{"type":139,"name":326,"callback":327,"priority":69,"file":318,"line":266},"canvas_block_prepare_server_render_attributes","prepare_server_render_attributes",[329,333],{"action":330,"nopriv":331,"callback":330,"hasNonce":331,"hasCapCheck":331,"file":245,"line":332},"cnvs_render_thumbnail",false,50,{"action":330,"nopriv":334,"callback":330,"hasNonce":331,"hasCapCheck":331,"file":245,"line":335},true,51,[],[],[],2,{"dangerousFunctions":341,"sqlUsage":342,"outputEscaping":344,"fileOperations":339,"externalRequests":26,"nonceChecks":26,"capabilityChecks":372,"bundledLibraries":373},[],{"prepared":26,"raw":26,"locations":343},[],{"escaped":345,"rawEcho":220,"locations":346},176,[347,351,353,355,357,360,363,365,367,368,370],{"file":348,"line":349,"context":350},"components\\basic-elements\\block-alert\\render.php",23,"raw output",{"file":352,"line":254,"context":350},"components\\justified-gallery\\block\\render.php",{"file":354,"line":60,"context":350},"components\\layout-blocks\\block-column\\styles.php",{"file":356,"line":266,"context":350},"components\\layout-blocks\\block-row\\render.php",{"file":358,"line":359,"context":350},"components\\layout-blocks\\block-row\\styles.php",60,{"file":361,"line":362,"context":350},"components\\posts\\block-posts\\layouts\\grid.php",115,{"file":361,"line":364,"context":350},117,{"file":366,"line":301,"context":350},"components\\posts\\block-posts\\layouts\\list.php",{"file":366,"line":306,"context":350},{"file":369,"line":250,"context":350},"components\\slider-gallery\\block\\render.php",{"file":288,"line":371,"context":350},215,4,[],[375,393],{"entryPoint":376,"graph":377,"unsanitizedCount":234,"severity":392},"cnvs_render_thumbnail (core\\class-canvas-gutenberg.php:616)",{"nodes":378,"edges":390},[379,384],{"id":380,"type":381,"label":382,"file":245,"line":383},"n0","source","$_GET",618,{"id":385,"type":386,"label":387,"file":245,"line":388,"wp_function":389},"n1","sink","header() [Header Injection]",623,"header",[391],{"from":380,"to":385,"sanitized":331},"medium",{"entryPoint":394,"graph":395,"unsanitizedCount":234,"severity":392},"\u003Cclass-canvas-gutenberg> (core\\class-canvas-gutenberg.php:0)",{"nodes":396,"edges":399},[397,398],{"id":380,"type":381,"label":382,"file":245,"line":383},{"id":385,"type":386,"label":387,"file":245,"line":388,"wp_function":389},[400],{"from":380,"to":385,"sanitized":331},{"summary":402,"deductions":403},"The 'canvas' plugin v2.5.2 presents a mixed security posture.  On the positive side, it demonstrates good practices in its SQL query handling, exclusively using prepared statements, and shows a very high rate of output escaping, minimizing the risk of cross-site scripting vulnerabilities.  The absence of any recorded vulnerabilities (CVEs) in its history is also a strong indicator of past security diligence. However, a significant concern is the presence of two AJAX handlers that lack any authentication checks. This creates an immediate and direct attack vector, as any unauthenticated user could potentially trigger these actions, leading to unintended consequences or information disclosure. The taint analysis, while not revealing critical or high severity issues, did identify two flows with unsanitized paths, which, when combined with the unprotected AJAX endpoints, could potentially lead to more complex exploitation scenarios if these paths are used in conjunction with user-controlled input.",[404,406],{"reason":405,"points":69},"AJAX handlers without authentication checks",{"reason":407,"points":31},"Flows with unsanitized paths detected","2026-03-16T17:47:20.565Z",{"wat":410,"direct":439},{"assetPaths":411,"generatorPatterns":427,"scriptPaths":428,"versionParams":434},[412,413,414,415,416,417,418,419,420,421,422,423,424,425,426],"\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fcomponents\u002Fbasic-elements\u002Fblock-cover\u002Fblock-editor.css","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fcomponents\u002Fbasic-elements\u002Fblock-cover\u002Fblock.css","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fcomponents\u002Fbasic-elements\u002Fblock-group\u002Fblock-editor.css","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fcomponents\u002Fbasic-elements\u002Fblock-group\u002Fblock.css","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fcomponents\u002Fcontent-formatting\u002Fblock-heading\u002Fblock-editor.css","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fcomponents\u002Fcontent-formatting\u002Fblock-heading\u002Fblock.css","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fcomponents\u002Fcontent-formatting\u002Fblock-list\u002Fblock-editor.css","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fcomponents\u002Fcontent-formatting\u002Fblock-list\u002Fblock.css","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fcomponents\u002Fcontent-formatting\u002Fblock-paragraph\u002Fblock-editor.css","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fcomponents\u002Fcontent-formatting\u002Fblock-paragraph\u002Fblock.css","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fcore\u002Fclass-canvas.php","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Feditor.css","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Feditor.js","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fscript.js",[],[429,430,431,432,433,424],"\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fcomponents\u002Fbasic-elements\u002Fblock-cover\u002Fblock.js","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fcomponents\u002Fbasic-elements\u002Fblock-group\u002Fblock.js","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fcomponents\u002Fcontent-formatting\u002Fblock-heading\u002Fblock.js","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fcomponents\u002Fcontent-formatting\u002Fblock-list\u002Fblock.js","\u002Fwp-content\u002Fplugins\u002Fcanvas\u002Fcomponents\u002Fcontent-formatting\u002Fblock-paragraph\u002Fblock.js",[435,436,437,438],"canvas\u002Fstyle.css?ver=","canvas\u002Fscript.js?ver=","canvas\u002Feditor.css?ver=","canvas\u002Feditor.js?ver=",{"cssClasses":440,"htmlComments":446,"htmlAttributes":447,"restEndpoints":449,"jsGlobals":450,"shortcodeOutput":454},[441,442,443,444,445],"cnvs-block-cover","cnvs-block-group","cnvs-block-heading","cnvs-block-list","cnvs-block-paragraph",[],[448],"data-canvas-id",[],[451,452,453],"cnvs_editor_settings","CNVS_URL","CNVS_PATH",[]]