CVE-2026-9855
MediumCVSS 6.5Exploitation Probability (EPSS)
Low risk28th percentile - higher than 28% of all known CVEs
Summary
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 allows authenticated attackers with contributor-level access and above to append additional SQL queries into existing ones, potentially extracting sensitive information from the database. The capability check is bypassable because WordPress internally casts $id to an integer for permission evaluation while the full unsanitized string is passed to the SQL sink.
Risk Assessment
The risk includes sensitive data leakage from the database, including user data and passwords, and potential data modification.
Recommendation
It is recommended to update the plugin to the latest version and restrict user privileges to the minimum.
Other vulnerabilities in Custom Field Template
See all- CVE-2026-12995Medium
The Custom Field Template plugin for WordPress in versions up to and including 2.7.8 is vulnerable to Insecure Direct Object Reference via edit_meta_value due to missing validation on a user-controlled key. An authenticated attacker with contributor-level access or higher can delete arbitrary media attachments site-wide by supplying any numeric attachment ID in the file-field parameter alongside the corresponding delete flag, causing content loss and broken pages.
- CVE-2026-57687High
The Custom Field Template plugin for WordPress versions 2.7.8 and earlier contains a Contributor SQL Injection vulnerability. An attacker with contributor privileges can inject malicious SQL queries into the database.
Original NVD description (English source)
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.

