Math Quiz Security & Risk Analysis

wordpress.org/plugins/math-quiz

Math Quiz generates dynamic math problem in the comment form to beat spam robots.

300 active installs v2.0.0 PHP + WP 3.5+ Updated Aug 16, 2019
captchacommentsspam
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Math Quiz Safe to Use in 2026?

Generally Safe

Score 85/100

Math Quiz has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 7yr ago
Risk Assessment

The "math-quiz" v2.0.0 plugin exhibits a mixed security posture. On the positive side, it has a very small attack surface with no apparent AJAX handlers, REST API routes, shortcodes, or cron events, which significantly limits potential entry points for attackers. The plugin also demonstrates good practices by incorporating nonce and capability checks, and the vast majority of its SQL queries utilize prepared statements, reducing the risk of SQL injection vulnerabilities.

However, a significant concern arises from the output escaping. With 0% of outputs properly escaped, there is a high risk of Cross-Site Scripting (XSS) vulnerabilities. Any data rendered by the plugin without proper sanitization could be exploited by attackers to inject malicious scripts. Additionally, the taint analysis revealed one flow with an unsanitized path, indicating a potential for path traversal or other file-related vulnerabilities, even though the static analysis reports no direct file operations.

The plugin's vulnerability history is clean, with no recorded CVEs. This is a positive indicator, suggesting a lack of previously discovered flaws. However, this could also be due to the plugin's limited adoption or the effectiveness of the limited security controls in place. Overall, while the plugin has a small attack surface and good practices for data handling in SQL, the complete lack of output escaping presents a critical security risk that needs immediate attention.

Key Concerns

  • Outputs not properly escaped
  • Taint flow with unsanitized paths
Vulnerabilities
None known

Math Quiz Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Version History

Math Quiz Release Timeline

v2.0.0Current
v1.9.3
v1.9.2
v1.9.1
v1.9
v1.8.2
v1.8.1
v1.8
v1.7
v1.6
v1.5
v1.4
v1.3
v1.2
v1.1
v1.0
v0.9
v0.8
v0.7
v0.6
Code Analysis
Analyzed Mar 16, 2026

Math Quiz Code Analysis

Dangerous Functions
0
Raw SQL Queries
1
4 prepared
Unescaped Output
9
0 escaped
Nonce Checks
1
Capability Checks
2
File Operations
0
External Requests
0
Bundled Libraries
0

SQL Query Safety

80% prepared5 total queries

Output Escaping

0% escaped9 total outputs
Data Flows · Security
1 unsanitized

Data Flow Analysis

2 flows1 with unsanitized paths
<math-quiz> (math-quiz.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Math Quiz Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 8
actionadmin_menuadmin.php:9
actionwp_headmath-quiz.php:56
actioncomment_formmath-quiz.php:58
filterpreprocess_commentmath-quiz.php:60
actionlogin_enqueue_scriptsmath-quiz.php:63
actionlogin_footermath-quiz.php:64
actionauthenticatemath-quiz.php:65
actioninitmath-quiz.php:69
Maintenance & Trust

Math Quiz Maintenance & Trust

Maintenance Signals

WordPress version tested5.2.24
Last updatedAug 16, 2019
PHP min version
Downloads13K

Community Trust

Rating100/100
Number of ratings2
Active installs300
Developer Profile

Math Quiz Developer Profile

atitan

1 plugin · 300 total installs

84
trust score
Avg Security Score
85/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect Math Quiz

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/math-quiz/css/math-quiz.css/wp-content/plugins/math-quiz/js/math-quiz.js
Script Paths
/wp-content/plugins/math-quiz/js/math-quiz.js
Version Parameters
math-quiz/css/math-quiz.css?ver=math-quiz/js/math-quiz.js?ver=

HTML / DOM Fingerprints

CSS Classes
mathquiz
Data Attributes
id="mathquiz"id="refresh-mathquiz"name="math-quiz"name="uniqueid"
JS Globals
math_quiz_settingsmath_quiz_ajax_url
Shortcode Output
<p id="mathquiz"><label for="mathquiz">%problemlabel%</label>&nbsp;<input name="math-quiz" type="text" />&nbsp;<a id="refresh-mathquiz" href="javascript:void(0)">%reloadbutton%</a><input type="hidden" name="uniqueid" value="%uniqueid%" /></p>
FAQ

Frequently Asked Questions about Math Quiz