CVE-2025-1707
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 · uneditedThe Review Schema plugin for WordPress is vulnerable to Local File Inclusion in all versions up to, and including, 2.2.4 via post meta. This makes it possible for authenticated attackers, with contributor-level and above permissions, to include and execute arbitrary files on the server, allowing the execution of any PHP code in those files. This can be used to bypass access controls, obtain sensitive data, or achieve code execution in cases where php file type can be uploaded and included.
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 confidenceThe Review Schema WordPress plugin (versions up to 2.2.4) contains a Local File Inclusion vulnerability via post meta manipulation. Authenticated attackers with contributor-level or higher permissions can include and execute arbitrary files on the server, allowing PHP code execution to bypass access controls, obtain sensitive data, or achieve remote code execution.
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
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
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.
-
Identify if Review Schema plugin is installedIn WordPress admin, go to Plugins > Installed Plugins and look for 'Review Schema' in the list. Note the version number displayed below the plugin name.Affected if The plugin is installed and the version is 2.2.4 or lower, or the version cannot be confirmed as 2.2.5 or later.
-
Verify the exact installed version numberOpen the main plugin file (review-schema/review-schema.php) and locate the 'Version' header in the file comments, or check the plugin changelog in the WordPress repository.Affected if The version listed is anything before 2.2.5.
-
Audit WordPress user roles with contributor or higher accessNavigate to Users > All Users in the WordPress admin panel. Review the role assigned to each user. Identify any users with Contributor, Author, Editor, or Administrator roles, especially unfamiliar or unexpected accounts.Affected if There are users with contributor-level or higher permissions, particularly unauthorized or suspicious accounts.
-
Inspect post meta for suspicious review schema entriesQuery the wp_postmeta table (directly via database or via WP CLI: wp post meta list <post_id>) for meta keys related to review_schema. Look for unexpected values containing file paths (e.g., /etc/passwd, php://, ../) or base64-encoded strings that may indicate LFI attempts.Affected if Any post meta entries contain file path references or encoded payloads that were not intentionally created by an administrator.
-
Check for recent post modifications by non-administratorsReview the wp_posts and wp_postmeta tables for recent posts or custom post types modified by users with contributor-level access. Use WP CLI: wp db query "SELECT post_author, COUNT(*) FROM wp_posts WHERE post_date > DATE_SUB(NOW(), INTERVAL 7 DAY) GROUP BY post_author"Affected if Contributor-level users have recently created or modified posts, especially in bulk or with unusual timing.
A user is affected if the Review Schema plugin version is 2.2.4 or lower AND there are user accounts with contributor-level or higher permissions, particularly if suspicious post meta entries or unexpected post modifications are present.
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.
dbcve · scopedUpdate the Review Schema plugin to version 2.2.5 or later. If an update is unavailable, remove the plugin immediately. Review user permissions and audit for any suspicious post meta entries.
Review Schema plugin version 2.2.5 or later
- Navigate to the WordPress admin dashboard
- Go to Plugins > Installed Plugins
- Locate the Review Schema plugin
- Check the current version installed (should be 2.2.4 or below)
- Update the plugin to the latest available version
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation2.0 h
- Implementation2.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 $1,984.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2025-1707 — 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-1707 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