Skip to main content

Media Library Assistant CVE-2026-97294

| EUVDEUVD-2026-94248 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-07 Patchstack GHSA-q22c-q47c-h6q6
6.5
CVSS 3.1 · Vendor: Patchstack
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain low-privilege WP account
  2. Delivery
    Inject script via media library field
  3. Exploit
    Payload stored in plugin data
  4. Execution
    Admin views affected page
  5. Persist
    Script runs in admin session
  6. Impact
    Hijack session or escalate

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated WordPress account with at least low-level privileges (PR:L) sufficient to submit input into a Media Library Assistant field, and it requires a victim (UI:R) - typically an administrator or editor - to subsequently view the page where the stored payload renders. These two factors materially limit exploitation: an attacker cannot trigger it unauthenticated or against a passive target, so sites that restrict account registration or lower-privilege roles are substantially less exposed. The affected deployment is any site running Media Library Assistant up to and including version 3.41.

Impact

This is a stored XSS flaw (CWE-79) in the WordPress 'Media Library Assistant' plugin, rated medium severity (CVSS 6.5). The provided CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L indicates network-reachable, low-complexity exploitation that requires an authenticated low-privilege account (PR:L) plus victim interaction (UI:R), with a scope change (S:C) reflecting that injected script executes in another user's browser context. No EPSS score, KEV listing, or public POC was supplied, so by the precision rules this is 'no public exploit identified at time of analysis.' Weighing the signals together, this is a realistic but not urgent priority: the dual requirement of a pre-existing authenticated account and a privileged victim viewing the malicious content substantially limits mass, automated exploitation, which is consistent with a medium CVSS rather than a critical one. The absence of KEV/EPSS data is a data gap, not evidence of safety - it simply means no widespread-exploitation signal is present. Patch status is a key missing signal: the affected range 'n/a through 3.41' does not confirm a fixed version in the provided data.

Exploit ScenarioDerived

An attacker with a low-privilege authenticated WordPress account (e.g., author or contributor) stores a malicious script payload via a Media Library Assistant input field that is improperly neutralized. When an administrator or other user later views the affected media library page in wp-admin, the script executes in their authenticated session. No public exploit code was provided in the intelligence sources.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 07, 2026

Stored cross-site scripting in the WordPress Media Library Assistant plugin (all versions through 3.41) allows an authenticated attacker with low-level privileges to plant persistent JavaScript that runs in the browser of a higher-privileged user who later views the affected page. Rated medium severity (CVSS 6.5), exploitation is gated by two prerequisites: a valid low-privilege WordPress account able to submit input into a Media Library Assistant field (PR:L) and a victim - typically an administrator or editor - who subsequently loads the page where the payload renders (UI:R), so sites that restrict account registration or avoid granting untrusted users content-entry roles are materially less exposed. No confirmed active exploitation (CISA KEV listing absent) and no public exploit code identified at time of analysis; the flaw is reported through Patchstack.

RemediationAI

No patched version is specified in the available intelligence, so the Patchstack advisory (https://patchstack.com/database/wordpress/plugin/media-library-assistant/vulnerability/wordpress-media-library-assistant-plugin-3-41-cross-site-scripting-xss-vulnerability-2) should be checked first for a fixed release and sites should upgrade as soon as one is published; until then, treat version 3.41 and earlier as vulnerable. Because exploitation requires a low-privilege authenticated account plus a victim viewing the poisoned page, the highest-value compensating control is reducing the attacker's foothold: disable open user registration or new-account approval, audit and strip content-submission capabilities from low-trust roles, and confirm that no contributor-or-lower role can write to Media Library Assistant fields - the trade-off is reduced editorial workflow flexibility for untrusted contributors. If the plugin is not actively used, deactivate and remove it entirely, which eliminates the exposure with no functional cost. Where it must stay in place, deploy a WAF rule set with output-encoding/XSS filters on WordPress admin and MLA plugin routes, accepting that signature-based filtering is a partial control that can be bypassed and may generate false positives on legitimate media metadata. WordPress hardening that helps here includes enforcing a strict Content-Security-Policy on admin pages, keeping administrator sessions short-lived, and reviewing administrator activity logs for unexpected content or option changes that would indicate a stored payload has already executed.

Affected VersionsENISA

Media Library Assistant 0 ≤3.41

Affected Packages

euvd media_library_assistant no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-79, improper neutralization of user-controllable input during web page generation, in the WordPress plugin Media Library Assistant by David Lingren (CPE cpe:2.3:a:david_lingren:media_library_assistant). Rather than reflecting input, the plugin persists attacker-supplied content in its own data store and later emits it into generated HTML without adequate encoding or sanitization, which makes the payload render on every subsequent page load for any user with visibility of that content - the defining characteristic of stored (persistent) XSS. The assessed vector CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N indicates a network-reachable flaw requiring low privileges and user interaction, with a scope change (S:C) because the injected script executes in the security context of the victim's session rather than the attacker's, while confidentiality and integrity impact remain limited and availability is not affected. In practical terms the payload can perform actions as the victim within the WordPress admin - reading data the victim can see, modifying content, or chaining to session or CSRF-style abuse - but the low-privilege and user-interaction preconditions keep overall risk at the medium level.

Know when Media Library Assistant gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Patchstack) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L
vuln.today AI 5.4 MEDIUM

Stored XSS needs a low-privilege account to inject (PR:L) and an admin to view it (UI:R); script runs cross-context (S:C) with limited C/I impact and no genuine availability impact (A:N).

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:A/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (Patchstack).

CVSS VectorVendor: Patchstack

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
Low

DescriptionCVE.org

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in David Lingren Media LIbrary Assistant media-library-assistant allows Stored XSS.This issue affects Media LIbrary Assistant: from n/a through 3.41.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Medium
moderately popular WordPress media plugin, not universally deployed
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

CVE-2023-4634 CRITICAL POC
9.8 Sep 06

The Media Library Assistant plugin for WordPress is vulnerable to Local File Inclusion and Remote Code Execution in vers

CVE-2020-11732 HIGH POC
7.5 Apr 13

The Media Library Assistant plugin before 2.82 for Wordpress suffers from a Local File Inclusion vulnerability in mla_ga

CVE-2026-16959 MEDIUM POC
6.8 Aug 21

SQL injection in the Media Library Assistant WordPress plugin before version 3.40 allows authenticated users with the Au

CVE-2020-11928 CRITICAL
9.8 Apr 20

In the media-library-assistant plugin before 2.82 for WordPress, Remote Code Execution can occur via the tax_query, meta

CVE-2024-51661 CRITICAL
9.1 Nov 04

Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') vulnerability in David Lingre

CVE-2026-66600 CRITICAL
9.1 Aug 20

Arbitrary file upload in the Media Library Assistant WordPress plugin (versions 3.39 and earlier) lets an authenticated

CVE-2024-3518 HIGH
8.8 May 22

The Media Library Assistant plugin for WordPress is vulnerable to SQL Injection via the plugin's shortcode(s) in all ver

CVE-2024-5605 HIGH
8.8 Jun 20

The Media Library Assistant plugin for WordPress is vulnerable to time-based SQL Injection via the ‘order’ parameter wit

CVE-2024-6823 HIGH
8.8 Aug 13

The Media Library Assistant plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type valida

CVE-2026-32399 HIGH
8.5 Mar 13

Blind SQL injection in Media Library Assistant through version 3.32 allows authenticated attackers to execute arbitrary

CVE-2026-97293 HIGH
8.5 Sep 30

SQL injection in the WordPress plugin Media Library Assistant (version 3.41 and earlier) allows an authenticated Contrib

CVE-2026-6075 HIGH
8.1 May 29

Cross-Site Request Forgery in the Media Library Assistant WordPress plugin versions 3.35 and earlier allows remote attac

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy