CVE-2025-23749
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedCross-Site Request Forgery (CSRF) vulnerability in progpars.net mybb Last Topics mybb-last-topics allows Stored XSS.This issue affects mybb Last Topics: from n/a through <= 1.0.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceA CSRF vulnerability in the mybb-last-topics plugin versions <= 1.0 allows attackers to craft malicious requests that inject and store arbitrary JavaScript code via stored XSS, potentially compromising user sessions when administrators view affected pages.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- Required
- Scope
- Changed
- Confidentiality
- Low
- Integrity
- Low
- Availability
- Low
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Verify mybb-last-topics plugin is installedAccess the MyBB admin panel and navigate to Configuration > Plugins (or equivalent) to list installed plugins. Look for 'mybb-last-topics' or 'Last Topics' in the plugins list.Affected if The plugin appears in the installed plugins list and is marked as active/enabled.
-
Determine the installed plugin versionIn the admin panel plugin list, click on the mybb-last-topics plugin to view its details page. Note the version number displayed. Alternatively, check the plugin's main PHP file (usually in inc/plugins/ or similar directory) for a version variable or header comment containing the version.Affected if The version is 1.0 or any version lower than 1.0 (e.g., 0.9, 0.8).
-
Inspect plugin source code for CSRF token usageLocate the main plugin PHP file (typically named last_topics.php or similar in the MyBB plugin directory). Open it in a text editor and search for state-changing operations: form submissions, database insert/update/delete calls. Check if each such operation includes a call to verify_csrf_token() or uses a token generated by MyBB's build_csrf_token or $mybb->post['csrf_token'.Affected if State-changing operations (like saving settings or processing user input) lack CSRF token verification code.
-
Check for output encoding on user-supplied dataExamine the plugin's template files and PHP code that outputs data to users (especially any data that could be stored in the database). Look for uses of functions like htmlspecialchars, escape_string, or MyBB's templating system that provides auto-escaping.Affected if User-provided data (topic titles, usernames, etc.) is output directly to HTML without being passed through encoding functions.
-
Examine the database for suspicious stored contentAccess the MyBB database (via phpMyAdmin or mysql CLI). Query tables related to the plugin (check plugin documentation for table names, likely containing 'topics' or similar). Look for entries containing script tags, javascript:, or other XSS payloads in text fields.Affected if The database contains any stored XSS payloads in fields populated by the plugin.
If the mybb-last-topics plugin is installed with version 1.0 or lower AND its code lacks CSRF token verification on state-changing operations AND user input is not properly sanitized before output, the environment is affected by this CVE.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
From vendor dataImplement anti-CSRF tokens for all state-changing operations in the plugin and apply proper output encoding/sanitization to prevent stored XSS. Until an official patch is available, consider disabling or removing the plugin.
- Consultation2.0 h
- Implementation4.0 h
- Testing3.0 h
- Review / QA1.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $2,800.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2025-23749 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2025-23749 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data