Summary
CVE-2026-16645 is a missing authorization vulnerability (CWE-862) in the PhotoSwipe module for Drupal, a contributed module that integrates the PhotoSwipe JavaScript lightbox library to display and zoom images in galleries. Affected versions of the module fail to sufficiently enforce access permission checks when an image is viewed through the PhotoSwipe gallery display formatter, allowing an unauthenticated, unauthorized visitor to view images they should not have access to via forceful browsing. The issue carries a CVSS v3.1 base score of 9.1 (Critical).
Technical details
- Root cause: The module’s PhotoSwipe image gallery display formatter does not sufficiently verify that a requesting user has permission to view the underlying image before rendering/serving it.
- Trigger conditions: A site must use the PhotoSwipe module’s gallery formatter to display images to which access is otherwise restricted (e.g., private or permission-gated content); sites that only display publicly accessible images are not meaningfully impacted.
- Attack vector: Network-based, requiring no authentication and no user interaction (CAPEC-87, Forceful Browsing) — an attacker directly requests image resources exposed by the formatter.
- Impact: Unauthorized disclosure of images that should be access-restricted (confidentiality impact); no impact on integrity or availability.
Affected software
- PhotoSwipe – Responsive JavaScript Modal Image Gallery (Drupal contributed module)
- Drupal 8 compatible branch: versions prior to 3.0.4
- Drupal 9/10 compatible branch: versions prior to 3.2.0 (the 3.1.x branch is deprecated and should not be used)
Severity
- CVSS v3.1 Base Score: 9.1 (Critical)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Mitigation and recommended actions
- Immediate: Update the PhotoSwipe module to version 3.0.4 (Drupal 8) or 3.2.0 or later (Drupal 9/10).
- If no patch can be applied immediately: Restrict or disable use of the PhotoSwipe gallery display formatter on any content where the underlying images are access-restricted; avoid using PhotoSwipe to display non-public images until patched. Review site access logs for anomalous, unauthenticated image-retrieval requests.
How IONIX identifies potentially affected assets
IONIX matches the following signal against data already collected when it crawled the asset; identifying the technology sends no request beyond that crawl.
- URL of a loaded script:
photoswipe/<version>/photoswipe.min.js

