CVE-2025-46512
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 Shamim Hasan Custom Functions Plugin custom-functions allows Stored XSS.This issue affects Custom Functions Plugin: from n/a through <= 1.1.
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 · moderate confidenceThe Shamim Hasan Custom Functions Plugin versions through 1.1 contains a CSRF vulnerability that allows attackers to inject malicious scripts (Stored XSS). An attacker can craft a malicious link or form that, when clicked by an authenticated administrator, will cause the browser to perform unintended actions that store XSS payloads within the plugin's settings or functionality.
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.
-
Locate the Shamim Hasan Custom Functions PluginCheck your WordPress plugins directory at /wp-content/plugins/ for a folder named 'shamim-hasan-custom-functions' or similar. Alternatively, log into the WordPress admin panel and navigate to Plugins > Installed Plugins to search for 'Shamim Hasan Custom Functions'.Affected if The plugin is installed in the plugins directory or appears in the WordPress admin plugin list.
-
Determine the installed plugin versionIn the WordPress admin under Plugins > Installed Plugins, find the plugin and read the version number from the plugin description. Alternatively, open the main plugin PHP file (usually named plugin-name.php in the plugin folder) and look for the 'Version' header in the plugin comment block at the top of the file.Affected if The version is 1.1 or lower (the vulnerability affects all versions through 1.1).
-
Verify the plugin is activeIn the WordPress admin under Plugins > Installed Plugins, confirm the plugin shows as 'Active'. The vulnerability requires the plugin to be enabled for an attacker to trigger the CSRF and store XSS payloads.Affected if The plugin is active on the site.
-
Inspect plugin settings for stored XSS payloadsNavigate to any settings pages provided by this plugin (typically under Settings or a dedicated menu item created by the plugin). Inspect page source or view the rendered HTML to look for unsanitized script tags, iframe elements, or event handlers (onerror, onload, onclick) in input fields. Also check the WordPress database wp_options table for any entries with option_name containing the plugin identifier that contain suspicious JavaScript code.Affected if Any stored XSS payloads are found in plugin settings pages or in the WordPress database options table related to this plugin.
-
Review plugin source code for missing CSRF protectionIf you have file access, examine the main plugin PHP file(s) for form handlers and AJAX actions. Search for the presence of 'wp_nonce' or 'check_admin_referer' function calls. The absence of these nonce verification functions in forms that handle admin actions indicates the CSRF vulnerability exists.Affected if Forms or AJAX handlers in the plugin code lack nonce verification (wp_nonce_field, wp_nonce_url, or check_admin_referer are not present).
Your environment is affected if the Shamim Hasan Custom Functions Plugin versions 1.1 or lower is installed and active, especially if you find forms lacking CSRF tokens or discover stored XSS payloads in plugin settings or the database.
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 proper nonces/CSRF tokens on all plugin forms and AJAX actions to verify request origin, and sanitize all user-supplied input before storing or displaying it. Update to a patched version when available.
- Consultation2.0 h
- Implementation4.0 h
- Testing2.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,560.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2025-46512 — 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-46512 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