CVE-2025-7725: WP Contest Gallery: Stored XSS exposes OpenAI API creds

HIGH
Published August 1, 2025
CISO Take

Any WordPress site running Contest Gallery with OpenAI integration is exposed to unauthenticated stored XSS that can harvest admin sessions and OpenAI API keys. Update to version 26.1.1+ immediately or disable the plugin. Rotate your OpenAI API key as a precaution if this plugin is deployed in your environment.

What is the risk?

High risk. The vulnerability requires no authentication, no user interaction from the attacker side, and carries a scope change — impact extends beyond the plugin itself. The amplified risk in AI environments is post-exploitation: a stolen OpenAI API key means unauthorized API usage costs, potential exposure of data processed through the AI features, and possible pivoting to broader WordPress admin compromise. With CVSS 7.2, UI:N (self-executing on page load), and WordPress's massive deployment footprint, the exposure surface is significant despite C:L/I:L ratings.

How severe is it?

CVSS 3.1
7.2 / 10
EPSS
0.2%
chance of exploitation in 30 days
Higher than 12% of all CVEs
Exploitation Status
No known exploitation
Sophistication
Trivial

What is the attack surface?

AV AC PR UI S C I A
AV Network
AC Low
PR None
UI None
S Changed
C Low
I Low
A None

What should I do?

6 steps
  1. Patch immediately: upgrade Contest Gallery to version > 26.1.0 via WordPress plugin dashboard.

  2. If patching is not immediately feasible, disable the plugin and display a maintenance notice.

  3. Rotate your OpenAI API key in the OpenAI dashboard and update the plugin configuration post-patching.

  4. Review WordPress and web server logs for suspicious comment submissions containing script tags, event handlers, or base64-encoded payloads.

  5. Deploy a WAF rule (Wordfence, Cloudflare) to block XSS patterns in comment fields as a temporary compensating control.

  6. Audit which WordPress users have admin access to plugin configuration to minimize blast radius if exploitation occurred.

What does CISA's SSVC say?

Decision Track
Exploitation none
Automatable No
Technical Impact partial

Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.

How is it classified?

Which compliance frameworks are affected?

This CVE is relevant to:

EU AI Act
Art.15 - Accuracy, robustness and cybersecurity
ISO 42001
A.6.1 - Policies for information security
NIST AI RMF
MANAGE-2.2 - Mechanisms to sustain the value of deployed AI systems
OWASP LLM Top 10
LLM02 - Insecure Output Handling LLM06 - Sensitive Information Disclosure

Frequently Asked Questions

What is CVE-2025-7725?

Any WordPress site running Contest Gallery with OpenAI integration is exposed to unauthenticated stored XSS that can harvest admin sessions and OpenAI API keys. Update to version 26.1.1+ immediately or disable the plugin. Rotate your OpenAI API key as a precaution if this plugin is deployed in your environment.

Is CVE-2025-7725 actively exploited?

No confirmed active exploitation of CVE-2025-7725 has been reported, but organizations should still patch proactively.

How to fix CVE-2025-7725?

1. Patch immediately: upgrade Contest Gallery to version > 26.1.0 via WordPress plugin dashboard. 2. If patching is not immediately feasible, disable the plugin and display a maintenance notice. 3. Rotate your OpenAI API key in the OpenAI dashboard and update the plugin configuration post-patching. 4. Review WordPress and web server logs for suspicious comment submissions containing script tags, event handlers, or base64-encoded payloads. 5. Deploy a WAF rule (Wordfence, Cloudflare) to block XSS patterns in comment fields as a temporary compensating control. 6. Audit which WordPress users have admin access to plugin configuration to minimize blast radius if exploitation occurred.

What systems are affected by CVE-2025-7725?

This vulnerability affects the following AI/ML architecture patterns: WordPress AI plugins, LLM API integrations, Web applications with embedded AI features, OpenAI API consumers.

What is the CVSS score for CVE-2025-7725?

CVE-2025-7725 has a CVSS v3.1 base score of 7.2 (HIGH). The EPSS exploitation probability is 0.22%.

What is the AI security impact?

Affected AI Architectures

WordPress AI pluginsLLM API integrationsWeb applications with embedded AI featuresOpenAI API consumers

MITRE ATLAS Techniques

AML.T0048.003 User Harm
AML.T0049 Exploit Public-Facing Application
AML.T0055 Unsecured Credentials
AML.T0093 Prompt Infiltration via Public-Facing Application

Compliance Controls Affected

EU AI Act: Art.15
ISO 42001: A.6.1
NIST AI RMF: MANAGE-2.2
OWASP LLM Top 10: LLM02, LLM06

What are the technical details?

Original Advisory

The Photos, Files, YouTube, Twitter, Instagram, TikTok, Ecommerce Contest Gallery – Upload, Vote, Sell via PayPal or Stripe, Social Share Buttons, OpenAI plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the comment feature in all versions up to, and including, 26.1.0 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

Exploitation Scenario

An unauthenticated attacker submits a crafted comment to a Contest Gallery-enabled page containing a JavaScript payload — for example, a cookie-stealing script or a routine that reads the OpenAI API key from the plugin's JavaScript configuration object and exfiltrates it via a beacon request to an attacker-controlled server. The payload is stored without sanitization. When a WordPress administrator reviews submissions or simply visits the page, the script executes silently in their browser session, harvesting the session cookie and any API credentials in scope. The attacker then uses the stolen OpenAI API key to run unauthorized queries at the victim's expense or leverages the admin session to backdoor the WordPress installation.

Weaknesses (CWE)

CWE-79 — Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'): The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

  • [Architecture and Design] Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid [REF-1482]. Examples of libraries and frameworks that make it easier to generate properly encoded output include Microsoft's Anti-XSS library, the OWASP ESAPI Encoding module, and Apache Wicket.
  • [Implementation, Architecture and Design] Understand the context in which your data will be used and the encoding that will be expected. This is especially important when transmitting data between different components, or when generating outputs that can contain multiple encodings at the same time, such as web pages or multi-part mail messages. Study all expected communication protocols and data representations to determine the required encoding strategies. For any data that will be output to another web page, especially any data that was received from external inputs, use the appropriate encoding on all non-alphanumeric characters. Parts of the same output document may require different encodings, which will vary depending on whether the output is in the: etc. Note that HTML Entity Encoding is only appropriate for the HTML body. Consult the XSS Prevention Cheat Sheet [REF-724] for more details on the types of encoding and escaping that are needed. HTML body Element attributes (such as src="XYZ") URIs JavaScript sections Casca

Source: MITRE CWE corpus.

CVSS Vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N

Timeline

Published
August 1, 2025
Last Modified
April 15, 2026
First Seen
August 1, 2025

Related Vulnerabilities