[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f3MGNTCrlsQ9Sn5FDyq1sEZ-mTdvFp3vGrAPJs5vBq9k":3,"$fFABJ1hvLTt3FYCvXDJkyt78sht2KTZ-npsbL1q6_Rfo":336,"$fQ1TaBFHlIoR4HAEtDjXQj3ByGL9EpPBuVew5vtMpVIs":341},{"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":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":21,"download_link":22,"security_score":23,"vuln_count":24,"unpatched_count":24,"last_vuln_date":25,"fetched_at":26,"discovery_status":27,"vulnerabilities":28,"developer":66,"crawl_stats":34,"alternatives":73,"analysis":181,"fingerprints":314},"simple-archive-generator","Simple Archive Generator","5.2","peterwsterling","https:\u002F\u002Fprofiles.wordpress.org\u002Fpeterwsterling\u002F","\u003Cp>A very simple (to use and configure), yet powerful, plug-in to generate a list (by category) of all posts.\u003Cbr \u002F>\nIt’s simple because there is no fancy formatting, complex configuration or other ‘noise’, just a sensible archive list of all your posts! All that’s required is to include this \u003Ccode>\u003C!-- simple_archive -->\u003C\u002Fcode> on a page (or post).  How simple is that?\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Posts can be listed under every category, or just the first category they are filed under.\u003C\u002Fli>\n\u003Cli>Categories can be hierarchically listed.\u003C\u002Fli>\n\u003Cli>Categories can be sorted alphabetically or by creation order, while posts are listed chronologically.\u003C\u002Fli>\n\u003Cli>A comment count for each post can be displayed.\u003C\u002Fli>\n\u003Cli>Also, some simple statistics may also be shown.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Internationalisation\u003C\u002Fh3>\n\u003Cp>The Simple Archive generator provides support for language translation.  Ensure WPLANG is set in your wp-config file.  Then use the simple-archive.pot template to create a .po translation for your language, this then needs compiling to create a .mo file.  For example, a German translation (simple-archive-de.po) is provided thanks to Ingo Terpelle at http:\u002F\u002Fwww.xing.com\u002Fprofile\u002FIngo_Terpelle\u003C\u002Fp>\n","A very simple (to use and configure) plug-in to generate a complete list (by category) of all posts.",50,11024,0,"2009-06-15T22:15:00.000Z","2.8","2.5","",[19,20],"archive","simple","http:\u002F\u002Fwww.sterling-adventures.co.uk\u002Fblog\u002F2007\u002F10\u002F01\u002Fsimple-archive-plugin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-archive-generator.zip",41,2,"2026-01-27 00:00:00","2026-04-16T10:56:18.058Z","no_bundle",[29,53],{"id":30,"url_slug":31,"title":32,"description":33,"plugin_slug":4,"theme_slug":34,"affected_versions":35,"patched_in_version":34,"severity":36,"cvss_score":37,"cvss_vector":38,"vuln_type":39,"published_date":25,"updated_date":40,"references":41,"days_to_patch":34,"patch_diff_files":43,"patch_trac_url":34,"research_status":44,"research_verified":45,"research_rounds_completed":46,"research_plan":47,"research_summary":48,"research_vulnerable_code":34,"research_fix_diff":34,"research_exploit_outline":49,"research_model_used":50,"research_started_at":51,"research_completed_at":52,"research_error":34,"poc_status":34,"poc_video_id":34,"poc_summary":34,"poc_steps":34,"poc_tested_at":34,"poc_wp_version":34,"poc_php_version":34,"poc_playwright_script":34,"poc_exploit_code":34,"poc_has_trace":45,"poc_model_used":34,"poc_verification_depth":34},"CVE-2025-68880","simple-archive-generator-reflected-cross-site-scripting","Simple Archive Generator \u003C= 5.2 - Reflected Cross-Site Scripting","The Simple Archive Generator plugin for WordPress is vulnerable to Reflected Cross-Site Scripting in versions up to, and including, 5.2 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=5.2","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')","2026-02-02 16:18:10",[42],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F5c4f381f-aa03-46f9-aa27-daac4eed58c8?source=api-prod",[],"researched",false,3,"# Exploitation Research Plan: CVE-2025-68880 (Simple Archive Generator)\n\n## 1. Vulnerability Summary\nThe **Simple Archive Generator** plugin (versions \u003C= 5.2) is vulnerable to **Reflected Cross-Site Scripting (XSS)**. The vulnerability exists because the plugin accepts user-controlled input via HTTP parameters and reflects that input back into the HTML response without proper sanitization (using functions like `sanitize_text_field`) or context-aware output escaping (using functions like `esc_html` or `esc_attr`). This allows an unauthenticated attacker to execute arbitrary JavaScript in the context of a user's browser session.\n\n## 2. Attack Vector Analysis\n*   **Endpoint:** Any frontend page or post where the Simple Archive Generator shortcode is active, or a specific plugin-generated archive page.\n*   **Vulnerable Parameter:** Likely a GET parameter used for filtering or pagination, such as `sag_page`, `category`, `monthnum`, or a search\u002Ffilter parameter (inferred).\n*   **Authentication:** None (Unauthenticated).\n*   **Preconditions:** The plugin must be active. The attacker needs to trick a victim (e.g., an administrator) into clicking a crafted link.\n\n## 3. Code Flow (Inferred)\n1.  **Entry Point:** The plugin registers a shortcode (likely `[simple-archive-generator]`) or a template redirect hook to handle archive display.\n2.  **Input Processing:** Inside the shortcode callback or the archive rendering function, the plugin accesses global variables like `$_GET['parameter_name']`.\n3.  **Lack of Sanitization:** The code fails to sanitize this input.\n4.  **Reflection (The Sink):** The input is echoed directly into the page content or into an HTML attribute (e.g., `value=\"...\"` or `href=\"...\"`) to maintain the state of filters or pagination links.\n    *   *Example Vulnerable Pattern:* `echo '\u003Ca href=\"?paged=' . $_GET['paged'] . '\">Next\u003C\u002Fa>';`\n5.  **Execution:** The browser renders the malicious script tag or attribute breakout provided in the parameter.\n\n## 4. Nonce Acquisition Strategy\nReflected XSS via GET parameters typically **does not require a nonce**, as nonces in WordPress are primarily used for CSRF protection on state-changing actions (POST requests). \n\nHowever, if the reflection occurs within a script context where the plugin enqueues localized data, the following strategy should be used to check for related vulnerabilities:\n1.  **Identify Shortcode:** Search the plugin code for `add_shortcode`. \n    *   `grep -r \"add_shortcode\" \u002Fvar\u002Fwww\u002Fhtml\u002Fwp-content\u002Fplugins\u002Fsimple-archive-generator\u002F`\n2.  **Create Test Page:**\n    *   `wp post create --post_type=page --post_status=publish --post_title=\"Archive Test\" --post_content='[simple-archive-generator]'` (Note: exact shortcode name to be verified by `grep`).\n3.  **Extract Localized Variables:**\n    *   Use `browser_navigate` to the created page.\n    *   Check for localized scripts: `browser_eval(\"window.sag_vars\")` or similar (inferred).\n\n## 5. Exploitation Strategy\n### Step 1: Identify the Reflection Point\nThe agent should first identify which parameter is reflected. Common candidates for an archive plugin:\n*   `paged`\n*   `sag_order`\n*   `cat`\n*   `month`\n\n### Step 2: Test for Reflection with a Canary\nPerform an HTTP GET request to a page containing the shortcode with a unique string.\n*   **Request:** `GET \u002Farchive-test-page\u002F?sag_test=HTB_CANARY`\n*   **Tool:** `http_request`\n*   **Check:** Verify if `HTB_CANARY` appears unescaped in the response body.\n\n### Step 3: Craft the XSS Payload\nOnce the reflected parameter is found, use a breakout payload.\n*   **If reflected in a text node:** `\u003Cscript>alert(document.domain)\u003C\u002Fscript>`\n*   **If reflected in an attribute (e.g., value):** `\"onmouseover=\"alert(1)`\n\n### Step 4: Final Payload Execution\n*   **URL:** `http:\u002F\u002Flocalhost:8080\u002Farchive-test-page\u002F?VULN_PARAM=%3Cscript%3Ealert(document.domain)%3C\u002Fscript%3E`\n*   **HTTP Method:** GET\n*   **Expected Header:** `Content-Type: text\u002Fhtml`\n\n## 6. Test Data Setup\n1.  **Install Plugin:** Ensure Simple Archive Generator \u003C= 5.2 is installed and active.\n2.  **Create Content:** Create a few posts to ensure the archive generator has data to display.\n    *   `wp post generate --count=5`\n3.  **Place Shortcode:**\n    *   `wp post create --post_type=page --post_status=publish --post_title=\"Archive\" --post_content='[simple-archive-generator]'`\n    *   *Note:* The agent must verify the actual shortcode string in the source code first.\n\n## 7. Expected Results\n*   The HTTP response body must contain the literal, unescaped payload: `\u003Cscript>alert(document.domain)\u003C\u002Fscript>`.\n*   If using a browser-based PoC, a popup or log indicating the script executed in the `localhost:8080` context should appear.\n\n## 8. Verification Steps\n1.  **Search for Sinks:** Use grep to find unescaped echos of GET parameters in the plugin directory:\n    *   `grep -rP \"echo.*\\\\\\$_GET\" \u002Fvar\u002Fwww\u002Fhtml\u002Fwp-content\u002Fplugins\u002Fsimple-archive-generator\u002F | grep -v \"esc_\"`\n2.  **Manual Confirmation:** Run a `curl` command (from the agent's environment, pointing to the host) and pipe to `grep` to show the raw reflection:\n    *   `http_request \"http:\u002F\u002Flocalhost:8080\u002Farchive\u002F?param=\u003Cscript>\"`\n    *   Check response for: `...Results for \u003Cscript>...` (example).\n\n## 9. Alternative Approaches\nIf no simple GET reflection is found on the frontend:\n1.  **Search for Admin-Side Reflected XSS:** Check if the plugin has an admin settings page that reflects parameters (e.g., `?page=simple-archive-generator&message=\u003Cscript>`).\n    *   `grep -r \"add_menu_page\" \u002Fvar\u002Fwww\u002Fhtml\u002Fwp-content\u002Fplugins\u002Fsimple-archive-generator\u002F`\n2.  **AJAX Reflection:** Check if `wp_ajax_nopriv` handlers reflect any input.\n    *   `grep -r \"wp_ajax_nopriv\" \u002Fvar\u002Fwww\u002Fhtml\u002Fwp-content\u002Fplugins\u002Fsimple-archive-generator\u002F`\n3.  **Attribute Breakout:** If the input is reflected inside an HTML tag attribute, try:\n    *   `?param=x\" onfocus=\"alert(1)\" autofocus=\"`\n    *   `?param=javascript:alert(1)\u002F\u002F` (if reflected in an `href`).","The Simple Archive Generator plugin for WordPress is vulnerable to Reflected Cross-Site Scripting in versions up to 5.2. This is caused by the plugin reflecting un-sanitized user input from GET parameters (such as those used for pagination) directly into the HTML response.","The exploit targets unauthenticated users by tricking them into clicking a crafted URL that contains a malicious JavaScript payload in a reflected GET parameter. 1. Identify a page where the plugin's archive shortcode is active. 2. Append a malicious payload to common archive parameters such as 'paged', 'sag_order', or 'cat' (e.g., `?paged=\">\u003Cscript>alert(document.domain)\u003C\u002Fscript>`). 3. When a victim views the crafted link, the plugin echoes the parameter value without escaping, allowing the script to execute in the victim's browser context.","gemini-3-flash-preview","2026-05-04 23:22:39","2026-05-04 23:22:57",{"id":54,"url_slug":55,"title":56,"description":57,"plugin_slug":4,"theme_slug":34,"affected_versions":35,"patched_in_version":34,"severity":36,"cvss_score":58,"cvss_vector":59,"vuln_type":60,"published_date":61,"updated_date":62,"references":63,"days_to_patch":34,"patch_diff_files":65,"patch_trac_url":34,"research_status":34,"research_verified":45,"research_rounds_completed":13,"research_plan":34,"research_summary":34,"research_vulnerable_code":34,"research_fix_diff":34,"research_exploit_outline":34,"research_model_used":34,"research_started_at":34,"research_completed_at":34,"research_error":34,"poc_status":34,"poc_video_id":34,"poc_summary":34,"poc_steps":34,"poc_tested_at":34,"poc_wp_version":34,"poc_php_version":34,"poc_playwright_script":34,"poc_exploit_code":34,"poc_has_trace":45,"poc_model_used":34,"poc_verification_depth":34},"CVE-2025-49346","simple-archive-generator-cross-site-request-forgery","Simple Archive Generator \u003C= 5.2 - Cross-Site Request Forgery","The Simple Archive Generator plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 5.2. This is due to missing or incorrect nonce validation on a function. This makes it possible for unauthenticated attackers to perform an unauthorized action via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.",4.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Cross-Site Request Forgery (CSRF)","2025-12-31 00:00:00","2026-01-05 18:17:10",[64],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F237b4427-56e8-45af-b932-3610acf3651f?source=api-prod",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":67,"total_installs":68,"avg_security_score":69,"avg_patch_time_days":70,"trust_score":71,"computed_at":72},5,230,76,30,77,"2026-05-20T09:28:50.995Z",[74,98,121,142,162],{"slug":75,"name":76,"version":77,"author":78,"author_profile":79,"description":80,"short_description":81,"active_installs":82,"downloaded":83,"rating":84,"num_ratings":85,"last_updated":86,"tested_up_to":87,"requires_at_least":88,"requires_php":17,"tags":89,"homepage":95,"download_link":96,"security_score":97,"vuln_count":13,"unpatched_count":13,"last_vuln_date":34,"fetched_at":26},"ele-custom-skin","Elementor Custom Skin","3.1.9","dudaster","https:\u002F\u002Fprofiles.wordpress.org\u002Fdudaster\u002F","\u003Cp>This plugin adds new skin to Elementor Page Builder Posts and Posts Archive widget.\u003C\u002Fp>\n\u003Cp>You can design a loop item just like a single template and it would be used as a skin so you can be able to create a post grid the way you like.\u003C\u002Fp>\n\u003Cp>All you have to do is to create a Custom Grid Template and place the Post Item Widget (placeholder) in your template made with sections and columns, and why not other widgets.\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\u002FDwLFdaZ69KU?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&start=94&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>For a quick tutorial see Frequently Asked Questions!\u003C\u002Fp>\n\u003Cp>For more details and demo check our official site https:\u002F\u002Fdudaster.com\u002F\u003C\u002Fp>\n\u003Cp>Note: This plugin is an addon of Elementor Page Builder (https:\u002F\u002Fwordpress.org\u002Fplugins\u002Felementor\u002F) and will only work with Elementor Page Builder installed.\u003C\u002Fp>\n\u003Cp>Also check \u003Ca href=\"https:\u002F\u002Fdudaster.com\u002Fecs-pro\u002F\" rel=\"nofollow ugc\">Elementor Custom Skin Pro\u003C\u002Fa>!\u003C\u002Fp>\n\u003Cp>You can expand your freedom in more ways than you can imagine. Check it out at https:\u002F\u002Fdudaster.com\u002Fecs-pro\u002F !\u003C\u002Fp>\n","Create new skins for Elementor PRO 3.x page builder. Design your own skins for Post and Post Archive Widgets using Elementor Loop Templates.",100000,1493464,94,116,"2024-04-11T09:40:00.000Z","6.5.8","5.0",[90,91,92,93,94],"archive-list","elementor","loop","page-builder","post-widget","https:\u002F\u002Fdudaster.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fele-custom-skin.zip",85,{"slug":99,"name":100,"version":101,"author":102,"author_profile":103,"description":104,"short_description":105,"active_installs":106,"downloaded":107,"rating":108,"num_ratings":109,"last_updated":110,"tested_up_to":111,"requires_at_least":112,"requires_php":17,"tags":113,"homepage":118,"download_link":119,"security_score":120,"vuln_count":13,"unpatched_count":13,"last_vuln_date":34,"fetched_at":26},"simple-css","Simple CSS","1.1.1","Tom","https:\u002F\u002Fprofiles.wordpress.org\u002Fedge22\u002F","\u003Cp>Need to add some custom CSS to your site? Simple CSS gives you an awesome admin editor and a live preview editor in the Customizer so you can easily add your CSS.\u003C\u002Fp>\n\u003Cp>Want your CSS to only apply on a specific page or post? Simple CSS adds a metabox which allows you to do just that.\u003C\u002Fp>\n\u003Cp>Check out GeneratePress, our awesome WordPress theme! (https:\u002F\u002Fwordpress.org\u002Fthemes\u002Fgeneratepress)\u003C\u002Fp>\n\u003Ch4>Features include:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Full featured admin CSS editor\u003C\u002Fli>\n\u003Cli>Dark and light editor themes\u003C\u002Fli>\n\u003Cli>CSS editor in the Customizer so you can live preview your changes\u003C\u002Fli>\n\u003Cli>Metabox for page\u002Fpost specific CSS\u003C\u002Fli>\n\u003C\u002Ful>\n","Add CSS to your website through an admin editor, the Customizer or a metabox for page\u002Fpost specific CSS.",80000,553634,98,60,"2025-09-15T15:11:00.000Z","6.8.5","4.0",[114,115,116,99,117],"css","css-customizer","custom-css","simple-custom-css","https:\u002F\u002Fgeneratepress.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-css.1.1.1.zip",100,{"slug":122,"name":123,"version":124,"author":125,"author_profile":126,"description":127,"short_description":128,"active_installs":129,"downloaded":130,"rating":84,"num_ratings":70,"last_updated":131,"tested_up_to":132,"requires_at_least":133,"requires_php":17,"tags":134,"homepage":140,"download_link":141,"security_score":97,"vuln_count":13,"unpatched_count":13,"last_vuln_date":34,"fetched_at":26},"add-category-to-pages","Add Category to Pages","1.2","a.ankit","https:\u002F\u002Fprofiles.wordpress.org\u002Faankit\u002F","\u003Cp>The \u003Cstrong>Add Category to Pages\u003C\u002Fstrong> plugin allows you to quickly add Categories and Tags to your WordPress Pages.\u003C\u002Fp>\n\u003Cp>This plugin allows you to add the power of WordPress Taxonomy to WordPress Pages.\u003C\u002Fp>\n\u003Cp>Just activate the plugin and it will add category and tag support to WordPress Pages\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Adds Post Categories to Pages\u003C\u002Fli>\n\u003Cli>Adds Post Tags to Pages\u003C\u002Fli>\n\u003Cli>Lets you display List of Pages based on Categories\u003C\u002Fli>\n\u003Cli>The plugin utilizes the archive.php and tag.php file included in your theme. \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The plugin is based on this \u003Ca href=\"https:\u002F\u002Fthewphosting.com\u002Fadd-categories-tags-pages-wordpress\u002F\" rel=\"nofollow ugc\">Tutorial\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>What are the benefits ?\u003C\u002Fh4>\n\u003Cp>There are various benefits of adding category to Pages YOu can\u003Cbr \u002F>\n* Embed a Category Based List of Pages\u003Cbr \u002F>\n* Create a Tag based archive for Pages\u003Cbr \u002F>\n* Create a Category based Archive for Pages\u003Cbr \u002F>\n* Hide Pages belonging to certain Category.. and Lots More\u003C\u002Fp>\n\u003Cp>In case you face any problem, contact us via the \u003Ca href=\"\" rel=\"nofollow ugc\">Forums\u003C\u002Fa>.\u003C\u002Fp>\n","Easily add a Post Categories to Wordpress Pages",20000,187634,"2019-10-19T08:38:00.000Z","5.2.24","3.3",[135,136,137,138,139],"category","category-in-page","page","page-archive","tag-in-page","https:\u002F\u002Fthewphosting.com\u002Fadd-categories-tags-pages-wordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadd-category-to-pages.1.2.zip",{"slug":143,"name":144,"version":145,"author":146,"author_profile":147,"description":148,"short_description":149,"active_installs":129,"downloaded":150,"rating":151,"num_ratings":152,"last_updated":153,"tested_up_to":154,"requires_at_least":155,"requires_php":17,"tags":156,"homepage":160,"download_link":161,"security_score":120,"vuln_count":13,"unpatched_count":13,"last_vuln_date":34,"fetched_at":26},"catch-ids","Catch IDs","2.8.1","Catch Themes","https:\u002F\u002Fprofiles.wordpress.org\u002Fcatchthemes\u002F","\u003Cp>Catch IDs is a simple and light weight plugin to show the Post ID, Page ID, Media ID, Links ID, Category ID, Tag ID and User ID in the Admin Section Table. This plugin was initially develop to support our themes features slider. Then we thought that this will be helpful to all the WordPress Admin Users. Just activate and catch IDs in your page, post, category, tag and media pages.\u003C\u002Fp>\n\u003Cp>Check out our new modular plugin \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcatch-web-tools\u002F\" rel=\"ugc\">Catch Web Tools\u003C\u002Fa>. Power up your WordPress site with powerful features that were till now only available to Catch Themes users. We currently offer Webmaster Tools, Open Graph, Custom CSS, Social Icons, Catch IDs and basic SEO Optimization modules and will be adding more.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Just install and activate.\u003C\u002Fli>\n\u003C\u002Fol>\n","What this plugin does is to shows the IDs on admin section.",797615,96,20,"2026-02-17T15:17:00.000Z","6.9.4","5.9",[157,143,158,20,159],"admin","show","wp-admin","https:\u002F\u002Fcatchplugins.com\u002Fplugins\u002Fcatch-ids\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcatch-ids.2.8.1.zip",{"slug":163,"name":164,"version":165,"author":166,"author_profile":167,"description":168,"short_description":169,"active_installs":129,"downloaded":170,"rating":108,"num_ratings":171,"last_updated":172,"tested_up_to":173,"requires_at_least":174,"requires_php":17,"tags":175,"homepage":179,"download_link":180,"security_score":97,"vuln_count":13,"unpatched_count":13,"last_vuln_date":34,"fetched_at":26},"simple-taxonomy-ordering","Simple Taxonomy Ordering","2.3.4","Evan Herman","https:\u002F\u002Fprofiles.wordpress.org\u002Feherman24\u002F","\u003Cp>Order all of the taxonomy terms on your site with a simple to use, intuitive drag and drop interface. The plugin works for WordPress core taxonomies — Categories and Tags — and any custom taxonomies you have created.\u003C\u002Fp>\n\u003Cp>Activate the plugin, enable your taxonomy on the settings page, and drag and drop the taxonomies into the desired position. It couldn’t be easier.\u003C\u002Fp>\n\u003Cp>On the front end of the site your taxonomy terms will display in the order set in the dashboard.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Requires WordPress 4.4 or later due to the use of the term meta.\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cstrong>Query Usage\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>If you’re trying to query for taxonomy terms (e.g. using \u003Ccode>WP_Query\u003C\u002Fcode> or functions like \u003Ccode>get_terms()\u003C\u002Fcode>), and you’d like them to be returned in the order specified by the plugin, you need to add the tax_position parameter in your call. For example: \u003Ccode>'meta_key' => 'tax_position'\u003C\u002Fcode> and  \u003Ccode>'orderby' => 'tax_position'\u003C\u002Fcode>. Thanks to @certainlyakey on GitHub for pointing this out.\u003C\u002Fli>\n\u003C\u002Ful>\n","Quickly and easily reorder taxonomy terms with an easy to use and intuitive drag and drop interface.",352021,28,"2023-03-22T07:26:00.000Z","6.2.9","4.4",[157,176,177,20,178],"meta","order","term","http:\u002F\u002Fwww.yikesinc.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-taxonomy-ordering.2.3.4.zip",{"attackSurface":182,"codeSignals":215,"taintFlows":264,"riskAssessment":302,"analyzedAt":313},{"hooks":183,"ajaxHandlers":211,"restRoutes":212,"shortcodes":213,"cronEvents":214,"entryPointCount":13,"unprotectedCount":13},[184,190,195,199,203,207],{"type":185,"name":186,"callback":187,"file":188,"line":189},"filter","the_content","generate_simple_archive","simple_archive.php",341,{"type":191,"name":192,"callback":193,"file":188,"line":194},"action","admin_menu","simple_archive_options",342,{"type":191,"name":196,"callback":197,"file":188,"line":198},"loop_start","sa_initialise",343,{"type":191,"name":200,"callback":201,"file":188,"line":202},"loop_end","create_simple_archive",344,{"type":191,"name":204,"callback":205,"file":188,"line":206},"init","set_simple_archive_textdomain",345,{"type":191,"name":208,"callback":209,"file":188,"line":210},"wp_head","add_simple_archive_script",346,[],[],[],[],{"dangerousFunctions":216,"sqlUsage":217,"outputEscaping":219,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":263},[],{"prepared":13,"raw":13,"locations":218},[],{"escaped":13,"rawEcho":220,"locations":221},21,[222,225,227,229,231,233,235,237,239,241,243,245,247,249,251,253,255,256,257,259,261],{"file":188,"line":223,"context":224},119,"raw output",{"file":188,"line":226,"context":224},120,{"file":188,"line":228,"context":224},121,{"file":188,"line":230,"context":224},131,{"file":188,"line":232,"context":224},138,{"file":188,"line":234,"context":224},139,{"file":188,"line":236,"context":224},140,{"file":188,"line":238,"context":224},181,{"file":188,"line":240,"context":224},182,{"file":188,"line":242,"context":224},183,{"file":188,"line":244,"context":224},184,{"file":188,"line":246,"context":224},185,{"file":188,"line":248,"context":224},193,{"file":188,"line":250,"context":224},196,{"file":188,"line":252,"context":224},250,{"file":188,"line":254,"context":224},261,{"file":188,"line":254,"context":224},{"file":188,"line":254,"context":224},{"file":188,"line":258,"context":224},264,{"file":188,"line":260,"context":224},269,{"file":188,"line":262,"context":224},272,[],[265,290],{"entryPoint":266,"graph":267,"unsanitizedCount":24,"severity":36},"generate_simple_archive_options_page (simple_archive.php:214)",{"nodes":268,"edges":287},[269,274,280,283],{"id":270,"type":271,"label":272,"file":188,"line":273},"n0","source","$_POST",238,{"id":275,"type":276,"label":277,"file":188,"line":278,"wp_function":279},"n1","sink","update_option() [Settings Manipulation]",240,"update_option",{"id":281,"type":271,"label":282,"file":188,"line":252},"n2","$_SERVER['PHP_SELF']",{"id":284,"type":276,"label":285,"file":188,"line":252,"wp_function":286},"n3","echo() [XSS]","echo",[288,289],{"from":270,"to":275,"sanitized":45},{"from":281,"to":284,"sanitized":45},{"entryPoint":291,"graph":292,"unsanitizedCount":24,"severity":301},"\u003Csimple_archive> (simple_archive.php:0)",{"nodes":293,"edges":298},[294,295,296,297],{"id":270,"type":271,"label":272,"file":188,"line":273},{"id":275,"type":276,"label":277,"file":188,"line":278,"wp_function":279},{"id":281,"type":271,"label":282,"file":188,"line":252},{"id":284,"type":276,"label":285,"file":188,"line":252,"wp_function":286},[299,300],{"from":270,"to":275,"sanitized":45},{"from":281,"to":284,"sanitized":45},"low",{"summary":303,"deductions":304},"The \"simple-archive-generator\" v5.2 plugin presents a mixed security posture. On one hand, the static analysis indicates a very small attack surface with no identified AJAX handlers, REST API routes, shortcodes, or cron events. The absence of dangerous functions and file operations is also positive. Furthermore, all SQL queries are reportedly using prepared statements, which is a strong security practice.\n\nHowever, significant concerns arise from the output escaping and vulnerability history. The static analysis shows that 0% of the 21 identified output points are properly escaped, indicating a high risk of Cross-Site Scripting (XSS) vulnerabilities. The taint analysis, while limited, found two flows with unsanitized paths, which could be exploited if they lead to output functions that are not properly escaped. The plugin also has a history of two known medium-severity CVEs, both of which are currently unpatched and related to XSS and Cross-Site Request Forgery (CSRF). The presence of unpatched vulnerabilities, especially when combined with a lack of output escaping, significantly elevates the risk profile.\n\nIn conclusion, while the plugin has a limited attack surface and uses prepared statements for SQL, the complete lack of output escaping and the existence of unpatched XSS\u002FCSRF vulnerabilities create a substantial security risk. The developers need to urgently address the output escaping issues and patch the known CVEs to improve the plugin's security. The current state makes it susceptible to common web attacks, potentially impacting user data and site integrity.",[305,307,310],{"reason":306,"points":152},"Unpatched CVEs (2)",{"reason":308,"points":309},"No output escaping",16,{"reason":311,"points":312},"Taint flows with unsanitized paths (2)",6,"2026-04-16T11:10:06.761Z",{"wat":315,"direct":322},{"assetPaths":316,"generatorPatterns":319,"scriptPaths":320,"versionParams":321},[317,318],"\u002Fwp-content\u002Fplugins\u002Fsimple-archive-generator\u002Ficon_minus.gif","\u002Fwp-content\u002Fplugins\u002Fsimple-archive-generator\u002Ficon_plus.gif",[],[],[],{"cssClasses":323,"htmlComments":327,"htmlAttributes":328,"restEndpoints":332,"jsGlobals":333,"shortcodeOutput":335},[324,325,326],"simple_acat","simple_aheading","simple_alink",[],[329,330,331],"id=\"cat-control-","id=\"cat-list-","class=\"no-rate\"",[],[334],"sa_show_hide(",[],{"error":337,"url":338,"statusCode":339,"statusMessage":340,"message":340},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fsimple-archive-generator\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":13,"versions":342},[]]