XV Random Quotes Security & Risk Analysis

wordpress.org/plugins/xv-random-quotes

Display and rotate quotes anywhere on your WordPress site. Fully integrated with WordPress Custom Post Types, Gutenberg blocks, and REST API.

300 active installs v2.7.0 PHP 7.4+ WP 6.0+ Updated Feb 17, 2026
blocksgutenbergquotesrandomwidget
54
C · Use Caution
CVEs total4
Unpatched2
Last CVEApr 3, 2025
Download
Safety Verdict

Is XV Random Quotes Safe to Use in 2026?

Use With Caution

Score 54/100

XV Random Quotes has 2 unpatched vulnerabilities. Evaluate alternatives or apply available mitigations.

4 known CVEs 2 unpatched Last CVE: Apr 3, 2025Updated 1mo ago
Risk Assessment

The "xv-random-quotes" v2.7.0 plugin exhibits a mixed security posture. On the positive side, the static analysis reveals strong adherence to secure coding practices with a high percentage of properly escaped output, the absence of dangerous functions and file operations, and a good number of nonce and capability checks. The SQL query usage is also predominantly secure, with 80% employing prepared statements. Furthermore, the plugin has no external HTTP requests or bundled libraries, reducing potential attack vectors.

However, significant concerns arise from the plugin's vulnerability history. With four known CVEs, two of which remain unpatched, and a recent vulnerability in April 2025, this indicates a recurring pattern of security weaknesses. The prevalence of Cross-site Scripting and SQL Injection vulnerabilities in its past suggests that user-supplied input is not always adequately neutralized before being processed or displayed. While current static analysis shows no immediate critical taint flows or unsanitized paths, the historical context strongly implies that these types of vulnerabilities could re-emerge or might be subtle and not detected by the current analysis depth.

In conclusion, while the code in v2.7.0 demonstrates improvements in secure coding standards, the unresolved historical vulnerabilities present a substantial risk. Users should be aware of the potential for previously identified vulnerability types to resurface, especially given the recent nature of past issues. The plugin's history suggests a need for more rigorous security auditing and a proactive approach to patching.

Key Concerns

  • Currently unpatched vulnerabilities
  • High severity unpatched vulnerability (medium included)
  • Recurring vulnerability types (XSS, SQLi)
  • SQL queries not using prepared statements (20%)
Vulnerabilities
4

XV Random Quotes Security Vulnerabilities

CVEs by Year

4 CVEs in 2025 · unpatched
2025
Patched Has unpatched

Severity Breakdown

High
1
Medium
3

4 total CVEs

CVE-2025-31903medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

XV Random Quotes <= 1.41 - Reflected Cross-Site Scripting

Apr 3, 2025 Patched in 2.0.1 (279d)
CVE-2025-30971high · 7.5Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

XV Random Quotes <= 2.0.0 - Unauthenticated SQL Injection

Mar 31, 2025 Patched in 2.0.1 (282d)
CVE-2024-13580medium · 4.3Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

XV Random Quotes <= 1.40 - Cross-Site Request Forgery to Settings Reset

Feb 18, 2025Unpatched
CVE-2024-13574medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

XV Random Quotes <= 1.40 - Reflected Cross-Site Scripting

Feb 18, 2025Unpatched
Code Analysis
Analyzed Mar 16, 2026

XV Random Quotes Code Analysis

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

SQL Query Safety

80% prepared10 total queries

Output Escaping

97% escaped224 total outputs
Data Flows
All sanitized

Data Flow Analysis

1 flows
<Settings> (src\Admin\Settings.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

XV Random Quotes Attack Surface

Entry Points7
Unprotected0

AJAX Handlers 4

authwp_ajax_xv_quote_migration_batchsrc\Admin\MigrationNotices.php:27
authwp_ajax_xv_migration_completesrc\Admin\MigrationNotices.php:28
authwp_ajax_xv_reset_migrationsrc\Admin\OverviewPage.php:23
authwp_ajax_xv_reset_quotes_onlysrc\Admin\OverviewPage.php:24

Shortcodes 3

[stray-random] src\Plugin.php:161
[stray-all] src\Plugin.php:162
[stray-id] src\Plugin.php:163
WordPress Hooks 23
actionadd_meta_boxessrc\Admin\MetaBoxes.php:31
actionsave_post_xv_quotesrc\Admin\MetaBoxes.php:32
actionsave_post_xv_quotesrc\Admin\MetaBoxes.php:33
actionsave_post_xv_quotesrc\Admin\MetaBoxes.php:220
actionadmin_noticessrc\Admin\MigrationNotices.php:26
actionadmin_menusrc\Admin\OverviewPage.php:21
actionadmin_enqueue_scriptssrc\Admin\OverviewPage.php:22
actionadmin_menusrc\Admin\Settings.php:61
actionadmin_initsrc\Admin\Settings.php:62
actionadmin_initsrc\Admin\Settings.php:63
actionwidgets_initsrc\Plugin.php:90
actionrest_api_initsrc\Plugin.php:93
actioninitsrc\Plugin.php:96
actioninitsrc\Plugin.php:99
actioninitsrc\PostMeta\QuoteMetaFields.php:28
actioninitsrc\PostTypes\QuotePostType.php:28
actionpre_get_postssrc\PostTypes\QuotePostType.php:32
actioninitsrc\Taxonomies\QuoteTaxonomies.php:42
actioninitsrc\Taxonomies\QuoteTaxonomies.php:43
actionplugins_loadedxv-random-quotes.php:33
actionplugins_loadedxv-random-quotes.php:38
actioninitxv-random-quotes.php:45
actionadmin_initxv-random-quotes.php:110
Maintenance & Trust

XV Random Quotes Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedFeb 17, 2026
PHP min version7.4
Downloads9K

Community Trust

Rating74/100
Number of ratings6
Active installs300
Developer Profile

XV Random Quotes Developer Profile

Xavi Ivars

1 plugin · 300 total installs

47
trust score
Avg Security Score
54/100
Avg Patch Time
281 days
View full developer profile
Detection Fingerprints

How We Detect XV Random Quotes

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/xv-random-quotes/js/migration.js
Version Parameters
xv-random-quotes/js/migration.js?ver=

HTML / DOM Fingerprints

CSS Classes
xv-start-migrationxv-migra
Data Attributes
data-nonce
JS Globals
xvMigration
FAQ

Frequently Asked Questions about XV Random Quotes