CVE-2026-35048
Received Received - Intake

SQL Injection in Piwigo Installer via Unsanitized POST Parameters

Vulnerability report for CVE-2026-35048, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-20

Last updated on: 2026-07-20

Assigner: GitHub, Inc.

Description

The Piwigo installer in versions 16.3.0 and earlier accepts POST parameters for database configuration and writes them directly into a PHP configuration file without proper sanitization. On PHP 8+, the `addslashes()` protection is bypassed because it checks for `get_magic_quotes_gpc()`, a function removed in PHP 8.0. This allows raw user input to be interpolated directly into PHP source code. An unauthenticated attacker can inject arbitrary PHP code through POST parameters (prefix, dbpasswd, dbhost, dbname, or dbuser), which gets written to `local/config/database.inc.php` and executed on every page load.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-20
Last Modified
2026-07-20
Generated
2026-07-21
AI Q&A
2026-07-20
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
piwigo piwigo 16.3.0
piwigo piwigo to 16.3.0 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-20 The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-35048 is a critical unauthenticated Remote Code Execution (RCE) vulnerability in Piwigo versions 16.3.0 and earlier. The flaw exists in the installer file /install.php, which improperly sanitizes user-supplied input before writing it to a PHP configuration file.

Detection Guidance

Check for unauthorized modifications to the file local/config/database.inc.php. Look for suspicious POST requests to /install.php with parameters like prefix, dbpasswd, dbhost, dbname, or dbuser. Monitor for unexpected PHP code execution or system command outputs in web server logs.

Impact Analysis

An attacker can exploit this by sending a crafted POST request to the installer to execute system commands as the web server user. This grants access to read/write files, steal database credentials, install persistent backdoors, or potentially escalate privileges to escape the container environment.

Compliance Impact

This vulnerability allows unauthenticated remote code execution, which could lead to unauthorized access to sensitive data. For GDPR, this may result in data breaches requiring notification under Article 33. For HIPAA, it could expose protected health information, violating the Security Rule. Both standards mandate safeguards against unauthorized access and data breaches.

Mitigation Strategies

Immediately restrict access to /install.php by renaming or deleting it if installation is complete. Ensure PHP 8+ environments have proper input validation. Review local/config/database.inc.php for unauthorized code and remove any suspicious entries. Consider blocking POST requests to /install.php at the web server level.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-35048. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart