Skip to main content

Custom Field Template CVE-2026-9855

| EUVDEUVD-2026-83557 MEDIUM
SQL Injection (CWE-89)
2026-09-19 Wordfence GHSA-fv9m-mw9j-43cg
6.5
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain Contributor account
  2. Delivery
    Grab valid nonce from post edit screen
  3. Exploit
    Submit crafted post_ID passing int-cast capability check
  4. Execution
    Inject appended SQL into query
  5. Impact
    Extract password hashes and secrets from database

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated WordPress account with Contributor-level capability or higher on a site running Custom Field Template <= 2.7.8; the attacker must first obtain a valid nonce, which any Contributor can legitimately retrieve from the post edit screen. Exploitation targets the 'post_ID' parameter and works despite the current_user_can('edit_post', $id) check because WordPress casts the value to an integer for the permission decision while the unsanitized full string reaches the SQL query. Limiting factors: it is not unauthenticated (PR:L), so it is most dangerous on sites allowing open/untrusted Contributor registration or multi-author setups; impact is confidentiality-only (database read/exfiltration), with no direct write or availability effect described.

Impact

This is a genuine but moderate-priority issue. The CVSS 6.5 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) describes a network-reachable, low-complexity SQL injection requiring only Contributor-level authentication, with high confidentiality impact and no integrity or availability impact - consistent with a data-extraction SQLi. The most important signal is the described capability-check bypass: current_user_can('edit_post', $id) is defeated because WordPress casts $id to an integer for the permission decision while the full unsanitized string is preserved and passed to the SQL sink, and the required nonce is legitimately obtainable by any Contributor from the post edit screen - so the PR:L barrier is real but low. No EPSS score, no CISA KEV listing, and no public POC were provided in the input, so there is no evidence of active or automated exploitation; risk is elevated on sites that grant untrusted users Contributor accounts (open registration, multi-author blogs) and low on single-author/locked-down installs. Bottom line: real and worth patching, but not an emergency - it is an authenticated info-disclosure SQLi, not an unauthenticated RCE.

Exploit ScenarioDerived

An attacker holding (or self-registering into) a Contributor account opens the post edit screen to obtain a valid nonce, then submits a request with a malicious 'post_ID' value crafted so its integer prefix passes the edit_post capability check while its full string body is concatenated into the plugin's SQL query. Using UNION or stacked/appended sub-queries they exfiltrate data such as user password hashes and secret keys from the database. No public exploit code was identified in the provided data, but the technique is standard and low-complexity.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 19, 2026

Authenticated SQL injection in the Custom Field Template plugin for WordPress, affecting all versions up to and including 2.7.8, lets any Contributor-level user inject arbitrary SQL through the unsanitized 'post_ID' parameter and read the entire site database, including password hashes, private post content, and secrets stored by other plugins. The plugin's current_user_can('edit_post', $id) guard does not stop the attack because WordPress casts the identifier to an integer for the permission decision while the original unsanitized string continues to the SQL sink, and the accompanying nonce is legitimately obtainable by any Contributor from the post edit screen. Risk is concentrated on sites with open registration, untrusted or multi-author Contributor accounts; no public exploit code has been identified at time of analysis and the issue is not listed in CISA KEV, with impact limited to confidentiality (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N).

RemediationAI

No vendor-released patched version has been independently confirmed: the available fix reference is an upstream Trac changeset (https://plugins.trac.wordpress.org/changeset?reponame=&old=3589466%40custom-field-template&new=3589466%40custom-field-template), so treat this as 'Upstream fix available (PR/commit); released patched version not independently confirmed' and verify on the plugin's WordPress.org page whether a build newer than 2.7.8 has shipped before relying on an upgrade alone. Until a fixed build is verified, the most effective single action is to deactivate Custom Field Template; the trade-off is immediate loss of its custom-field UI, which may break editorial workflows if those fields are rendered by the theme. If the plugin must stay active, harden the account surface instead of the plugin: disable open user registration and remove the Contributor role from any account that does not need it (or strip the edit_posts capability via a role-management plugin), which closes the authenticated path described by PR:L but degrades legitimate multi-author publishing. A WAF rule or reverse-proxy filter that rejects SQL metacharacters in the post_ID parameter, plus alerting on unusual SELECT/UNION patterns against wp_ tables, raises the cost of exploitation but is bypassable through nonce rotation and encoding tricks and should not be the sole control. Finally, assume any pre-patch Contributor-level account may have already exfiltrated data: rotate database credentials and WordPress salts, and review the wp_users, wp_usermeta and wp_options tables for unexpected access if compromise is suspected.

Affected VersionsENISA

Custom Field Template 0 ≤2.7.8

Affected Packages

euvd custom_field_template no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The issue is a classic CWE-89 SQL injection in a WordPress plugin. Custom Field Template builds queries against WordPress core tables directly through the $wpdb abstraction layer instead of using $wpdb->prepare() with placeholders, so the 'post_ID' value supplied by the caller is concatenated into the existing statement with no escaping (esc_sql/absint) applied. The affected code paths are visible in the plugin's Trac source for tags 2.7.7 and 2.7.8 (custom-field-template.php around lines 105, 3353, 3479 and 4442), i.e. the flaw predates the latest tagged release and is not a 2.7.8-only regression. What makes the vulnerability noteworthy is the layered-but-broken authorization model: the plugin gates the action with current_user_can('edit_post', $id), but WordPress normalizes $id to an integer when evaluating that meta capability, while the raw, attacker-controlled string is preserved and later handed to the database. The required anti-CSRF nonce does not raise the bar meaningfully because the nonce is issued to any user who can open a post edit screen, which is exactly the Contributor-and-above population the CVSS vector describes (PR:L). The result is a second-order style read primitive that allows UNION/stacked query injection to exfiltrate arbitrary rows from the WordPress database.

Know when Custom Field Template gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 6.5 MEDIUM

Network SQLi requiring only Contributor auth and an easily obtained nonce (PR:L, AC:L, UI:N); enables full DB read (C:H) but no described write or DoS (I:N/A:N).

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

The Custom Field Template plugin for WordPress is vulnerable to generic SQL Injection via the 'post_ID' parameter in all versions up to, and including, 2.7.8 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with contributor-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. The capability check via current_user_can('edit_post', $id) is bypassable because WordPress internally casts $id to an integer for the permission evaluation while the full unsanitized string is preserved and passed to the SQL sink, and a valid nonce - which is also required - can be legitimately obtained by any Contributor-level user from the post edit screen.

Threat Intelligence Overview

EPSS Score
0.3%
Top 72% exploitable
Prevalence
Medium
popular long-standing WordPress custom-field plugin, broad but not universal install base
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

CVE-2023-22695 HIGH
8.8 Jul 10

Cross-Site Request Forgery (CSRF) vulnerability in Hiroaki Miyashita Custom Field Template plugin <= 2.5.8 versions. Rat

CVE-2026-57687 HIGH
8.5 Jul 02

SQL injection in the Custom Field Template WordPress plugin (versions <= 2.7.8) allows a low-privileged authenticated us

CVE-2024-0627 MEDIUM
6.4 Jun 11

The Custom Field Template plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the plugin's custom fiel

CVE-2023-6745 MEDIUM
6.4 Jun 11

The Custom Field Template plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the plugin's 'cpt' short

CVE-2023-38392 MEDIUM
6.1 Aug 07

Unauth. Rated medium severity (CVSS 6.1), this vulnerability is remotely exploitable, no authentication required, low at

CVE-2024-44062 MEDIUM
5.4 Sep 15

Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') vulnerability in Hiroaki Miy

CVE-2024-0653 MEDIUM
4.4 Jun 11

The Custom Field Template plugin for WordPress is vulnerable to Stored Cross-Site Scripting via admin settings in all ve

CVE-2023-6748 MEDIUM
4.3 Jun 11

The Custom Field Template plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, an

CVE-2026-12995 MEDIUM
4.3 Sep 22

Authenticated users with contributor-level access or above can permanently delete arbitrary media attachments site-wide

CVE-2020-36742 MEDIUM
4.3 Jul 01

The Custom Field Template plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and includ

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy