---
id: "CVE-2026-111120"
kind: "vulnerability"
aliases: ["CVE-2026-111120"]
title: "WordPress VikRentCar plugin: forged admin request writes PHP, enabling server takeover"
severity: "high"
cvss: 8.8
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["package", "self-hosted", "wordpress", "wordpress-plugins"]
not_affected_if: ["newer-than-1.4.8", "plugin-not-installed"]
published_at: "2026-10-28T07:16:46+00:00"
first_seen_at: "2026-10-28T07:31:38+00:00"
updated_at: "2026-10-28T07:32:44+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-111120", "first_seen_at": "2026-10-28T07:31:38+00:00"}]
---

# WordPress VikRentCar plugin: forged admin request writes PHP, enabling server takeover

The VikRentCar Car Rental Management System WordPress plugin up to and including 1.4.8 lacks nonce validation on its condtext_update_tmpl function. An unauthenticated attacker who tricks a site administrator into clicking a link can write PHP into template files that the plugin later includes, running code on the server.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed VikRentCar plugin version in the WordPress admin Plugins screen or `wp plugin get vikrentcar --field=version` and see whether it is `1.4.8` or older.
- Look for injected `<?php` content in the plugin's template files such as `site/helpers/email_tmpl.php` under the plugin directory.

## Fix

- Update the VikRentCar Car Rental Management System plugin to a version later than `1.4.8` once the vendor releases a fix; the sources do not name the fixed version.
- Until patched, deactivate the plugin or restrict admin access, and review the plugin's template files for unexpected PHP.

## Timeline

- 2026-10-28T07:31:38+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-111120

## From the sources

The VikRentCar Car Rental Management System plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to, and including, 1.4.8. This is due to missing or incorrect nonce validation on the condtext_update_tmpl function. This makes it possible for unauthenticated attackers to write arbitrary PHP code to the plugin's executable template files such as site/helpers/email_tmpl.php, which are later include()d by loadEmailTemplate() and loadPdfTemplate(), achieving remote code execution on the server via a forged request granted they can trick a site administrator into performing an action such as clicking on a link. The injected PHP payload bypasses sanitization because the plugin's own __PHP_OPEN__/__PHP_CLOSE__ placeholder expansion and cleanPHPSourceCode() logic explicitly reverse both sanitize_text_field filtering and saveHTML() HTML-encoding, restoring a literal <?php...?> payload to live PHP before it is written to disk. Successful exploitation additionally requires an action by an administrator — the attacker cannot trigger the vulnerability on their own.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
