WP Manifestindependent plugin directory
manifest / editor / jquest-plugin

JQUEST Plugin WP Registry grade B. Medium-severity findings · 1 findingWP RegistryMedium-severity findings · 1 findingOpen the reportB

A WordPress Plugin for inserting JQUEST Games

★ 0stars
66release downloads
≈10active sites
v1.11.0latest · 1mo ago

Install

Download jquest-plugin.zip From the v1.11.0 release on GitHub, Sep 9, 2026

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/jco-digital/jquest-plugin/releases/download/v1.11.0/jquest-plugin.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

JQUEST Plugin is a WordPress plugin used to insert JQUEST games in a WordPress site.

Description

The plugin makes it possible to add an organization id and fetch JQUEST games that can be inserted in site using a Gutenberg block.

Installation

  1. Upload plugin-name.php to the /wp-content/plugins/ directory
  2. Activate the plugin through the 'Plugins' menu in WordPress
  3. Go to Settings -> JQUEST Settings and add your organization id
  4. Go to a page or post and add a JQUEST inserter block

Changelog

0.1.0 - Initial release

Releases

15 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v1.11.0 latest
Sep 9, 2026 1mo ago
jquest-plugin.zip
17
Sep 8, 2026 1mo ago
jquest-plugin.zip
5
Aug 5, 2026 2mo ago
jquest-plugin.zip
10
Jul 30, 2026 2mo ago
jquest-plugin.zip
5
Jul 30, 2026 2mo ago
jquest-plugin.zip
1
Jul 30, 2026 2mo ago
jquest-plugin.zip
0
Jul 14, 2026 3mo ago
jquest-plugin.zip
1
Jul 14, 2026 3mo ago
jquest-plugin.zip
2
Jul 13, 2026 3mo ago
jquest-plugin.zip
1
Jun 18, 2026 4mo ago
jquest-plugin.zip
3
Jun 18, 2026 4mo ago
jquest-plugin.zip
1
Jun 16, 2026 4mo ago
jquest.zip
4
Apr 22, 2026 6mo ago
jquest.zip
15
Mar 18, 2026 7mo ago
jquest.zip
1
Mar 18, 2026 7mo ago
jquest.zip
0

Active-site estimate ≈10 comes from the median of recent superseded releases. Method.

B grade

Security

JQUEST Plugin 1.11.0 · audited by WP Registry

Medium-severity findings.

1 medium
Audited release
1.11.0
Findings
1
Worst severity
medium
Content hash
d6511d801fce0d94639473e1…

Findings

  • medium Games REST routes allow any logged-in user to read the org catalog and rewrite jquest_org_games

    missing_capability

    register_rest_route for GET /jquest/v1/games and POST /jquest/v1/games/refresh sets permission_callback to RestAPIHelpers::is_user_logged_in, which is a bare is_user_logged_in() check (Administrator/Editor/Author/Contributor/Subscriber/Customer all pass; unauthenticated fails). There is no current_user_can('edit_posts') or manage_options gate. GET returns get_option('jquest_org_id') and get_option('jquest_org_games') (quest ids, titles, versions). POST refresh_games() calls fetch_jquests() with the stored org id: wp_remote_get('https://api.jquest.fi/organizationgames-getorganizationgames?v2=true&orgId=' . $value) then update_option('jquest_org_games') / jquest_org_message; a null JSON body or success!==true writes jquest_org_games to an empty array. Bootstrap::localize_scripts() registers an empty front-end script and wp_localize_script()s jQuestPlugin.nonce = wp_create_nonce('wp_rest') on every public page, so a Subscriber can POST with credentials:'same-origin' and X-WP-Nonce from the homepage. Observable consequence: any customer/subscriber account can read the unpublished quiz catalog and force a site-wide option rewrite or wipe, which empties the admin/inserter picker and makes get_jquest_version() fall back to v1 for popups. This is not unauth RCE/XSS; blast is limited to those options.

    classes/RestAPI/APIs/JquestAPI.php:32-85

    Recommendation

    Gate GET /games on current_user_can('edit_posts') (the inserter is the only consumer). Gate POST /games/refresh on current_user_can('manage_options') so only administrators can rewrite jquest_org_games. Do not localize a wp_rest nonce on public pages unless a public REST consumer needs it. In fetch_jquests(), do not wipe jquest_org_games on transport/JSON failure.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.