Summary
CVE-2026-96673 is an unauthenticated SQL injection vulnerability (CWE-89) in Photoview, a self-hosted photo gallery application, affecting the album download route. Attackers can manipulate the album_id path segment to inject arbitrary SQL and extract database contents without any authentication. The flaw carries a high severity rating (CVSS 8.7) and affects all Photoview releases through version 2.4.0.
Technical details
- Root cause: The album download route passes the
album_idvalue taken directly from the URL path into GORM’sFindmethod as a raw string, without validating that it is numeric. - Trigger conditions: Because GORM interprets non-numeric input as a SQL condition rather than a primary-key lookup, an attacker can supply a crafted string in
album_idthat is evaluated as part of the SQL query, and this evaluation happens before any authorization check is performed. - Attack vector: Network-based, unauthenticated — no credentials or user interaction are required to reach the vulnerable route.
- Impact: Attackers can use time-based or blind SQL injection techniques to extract arbitrary data from the backend database, potentially exposing sensitive information such as user records, share tokens, or other stored data.
Affected software
- Photoview through version 2.4.0 (all releases up to and including 2.4.0)
Severity
- CVSS v3.1 Base Score: 7.5 (High) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - CVSS v4.0 Score: 8.7 (High) —
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Mitigation and recommended actions
- Immediate: Upgrade Photoview to a version that includes the fix from pull request #1453 (merged July 31, 2026, commit
deb1b216e047a30803dc0f48a9fc3d4c4abda594), which validatesalbum_idas a positive integer before any database access and uses parameterized primary-key lookups instead of passing untrusted strings to the query builder. - If no patch can be applied immediately:
- Restrict or disable public/unauthenticated access to the album download route at the network or reverse-proxy layer until the upgrade can be completed.
- Monitor web server and application logs for anomalous or malformed
album_idvalues (non-numeric, SQL-like payloads) in download route requests. - Deploy a web application firewall (WAF) rule to block SQL injection patterns targeting the album download path as a temporary compensating control.

