Skip to main content

Drupal PhotoSwipe CVE-2026-84919

| EUVDEUVD-2026-107868 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-22 drupal GHSA-hpqh-524w-2rhc
4.6
CVSS 3.1 · Vendor: drupal
View

Attack ChainAIDerived

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

  1. Access
    Obtain low-privileged content account
  2. Delivery
    Submit gallery item with crafted payload
  3. Exploit
    Payload stored unsanitized by module
  4. Execution
    Victim views gallery page
  5. Impact
    Script executes in victim browser session

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 attacker to hold a Drupal account with privileges to submit or edit content handled by the PhotoSwipe - Responsive JavaScript Modal Image Gallery module (CVSS PR:L), and a second user must subsequently view the page containing the stored payload for it to execute (CVSS UI:R). The exact input field, caption, or gallery setting that stores the unsanitized data is not described in the available sources. Limiting factors: this is not remote-unauthenticated - an account with content-contribution rights is a prerequisite, victim interaction is needed, impact is limited to partial confidentiality/integrity in the victim's browser context (no availability impact), and the module is patched (fixed in 5.0.9 per the EUVD range), so updating removes the exposure. Only affected installations are those running PhotoSwipe module versions below 5.0.9.

Impact

This is a genuinely low-to-moderate priority issue, and the signals are internally consistent rather than conflicting. The CVSS 3.1 base score of 4.6 (Medium) reflects a stored XSS requiring an authenticated contributor (PR:L) and victim interaction (UI:R), with only partial confidentiality and integrity impact and no availability impact (C:L/I:L/A:N, scope unchanged). All secondary signals reinforce the low urgency: EPSS is 0.16% (5th percentile), SSVC records Exploitation:none, Automatable:no, and Technical Impact:partial, and there is no CISA KEV listing and no public exploit reference in the supplied data. The only mildly elevating signal is the vuln.today 'this_month' decision label, which suggests scheduled remediation rather than emergency action - consistent with a patched, authenticated, interaction-dependent web flaw. In short, this is a real but routine stored-XSS bug in a Drupal contrib module, not a high-urgency threat; the network attack vector (AV:N) overstates exposure because PR:L and UI:R meaningfully constrain exploitation.

Exploit ScenarioDerived

An attacker who already holds a low-privileged Drupal account with permission to create or edit gallery content submits an image/node containing a crafted script payload that is stored by the PhotoSwipe module and not properly neutralized. When another user - for example an administrator or site visitor - views the affected gallery page, the stored script executes in their browser session in the context of the site. No public exploit code is identified at the time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 22, 2026

Stored cross-site scripting in the Drupal contributed module PhotoSwipe - Responsive JavaScript Modal Image Gallery (versions below 5.0.9) lets a user who can create or edit content handled by the module persist an unsanitized payload that executes in the browser of another user who later views the affected page. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N, base 4.6) confirms an authenticated content contributor is required and that a second user must interact with the page, with impact limited to partial confidentiality and integrity inside the victim's session and no availability effect. No public exploit code is identified at time of analysis and CISA SSVC records exploitation as none and not automatable, with EPSS at 0.16% (5th percentile); the vendor has released a fix in 5.0.9, so exposure is removed by updating.

RemediationAI

Vendor-released patch: upgrade the PhotoSwipe - Responsive JavaScript Modal Image Gallery module to version 5.0.9, which is the fixed release per the EUVD range and the Drupal security advisory at https://www.drupal.org/sa-contrib-2026-131; Drupal contributed-module updates are applied through the site's normal module update workflow, and updating removes the exposure entirely. Until the update is deployed, the practical interim measure consistent with the assessed prerequisite (PR:L) is to narrow the set of roles permitted to submit or edit content handled by the module, since a content-contribution account is required to store the payload, at the cost of restricting editorial workflow; the second prerequisite, a victim viewing the affected page (UI:R), cannot be eliminated while the vulnerable renderer remains in place. No separate vendor workaround, configuration flag, or input filter is documented in the available sources beyond applying the module update.

Affected VersionsENISA

PhotoSwipe - Responsive JavaScript Modal Image Gallery 0.0.0 <5.0.9

Affected Packages

composer drupal/photoswipe fix: 5.0.9
euvd photoswipe_responsive_javascript_modal_image_gallery fix: 5.0.9

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in composer, euvd

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

Technical ContextAI · show details

The flaw is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically the stored variant: content submitted through the Drupal PhotoSwipe module is saved and later emitted into gallery markup without adequate escaping, so script content survives in the database and runs in the security context of the Drupal site when the page is rendered for a viewer. The module is a Drupal contributed integration of the PhotoSwipe responsive JavaScript modal image gallery, and the CPE cpe:2.3:a:drupal:photoswipe_-_responsive_javascript_modal_image_gallery:*:*:*:*:*:*:*:* covers all releases in the affected branch up to the fixed version. The CVSS vector describes severity only; it does not establish the exact input field, caption, or gallery setting that stores the unsanitized data, and the trigger details are not described in the available sources. Exploitation requires a Drupal account holding privileges to submit or edit content processed by the module (PR:L) plus a victim user opening the page containing the stored payload (UI:R); the assessment notes the flaw is not remotely exploitable without authentication.

Know when Photoswipe Responsive Javascript Modal Image Gallery 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 (drupal) PRIMARY 4.6 MEDIUM
AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N
vuln.today AI 4.6 MEDIUM

Stored XSS requires an authenticated content contributor (PR:L) and a victim viewing the page (UI:R); impact is limited script execution in the browser, so C:L/I:L/A:N.

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

Primary rating from Vendor (drupal).

CVSS VectorVendor: drupal

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

Lifecycle Timeline

3
CVSS changed
Oct 22, 2026 - 19:23 NVD
4.6 (None) 4.6 (MEDIUM)
Patch available
Oct 22, 2026 - 03:01 EUVD
CVE Published
Oct 22, 2026 - 01:22 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

Improper Neutralization of Input During Web Page Generation ("Cross-site Scripting") vulnerability in Drupal PhotoSwipe - Responsive JavaScript Modal Image Gallery allows Stored XSS. This issue affects PhotoSwipe - Responsive JavaScript Modal Image Gallery versions: from 0.0.0 to 5.0.9.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Low
niche Drupal contrib gallery module, limited CMS-specific footprint
Social Media
1
Sightings
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 Yes
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

23
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +23
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.

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