CVE-2026-35048
CriticalCVSS 9.8Exploitation Probability (EPSS)
Low risk24th percentile - higher than 24% of all known CVEs
Summary
A vulnerability in the Piwigo installer versions 16.3.0 and earlier allows PHP code injection via POST parameters for database configuration. Lack of proper input sanitization and bypass of `addslashes()` on PHP 8+ enables an unauthenticated attacker to write malicious code into a configuration file, executed on every page load.
Risk Assessment
An attacker can gain full control over the server by executing arbitrary PHP code, leading to complete compromise of the application and potentially the entire system.
Recommendation
Immediately upgrade Piwigo to a version newer than 16.3.0 that includes a security fix. If an upgrade is not possible, restrict access to the installer and apply additional server-level protections.
Other vulnerabilities in Piwigo
See all- CVE-2017-17827High
Piwigo version 2.9.2 is vulnerable to Cross-Site Request Forgery (CSRF) via specific URL parameters. An attacker can coerce an admin user into performing unintended actions.
- CVE-2017-17774High
The admin/configuration.php file in Piwigo version 2.9.2 has a CSRF (Cross-Site Request Forgery) vulnerability. An attacker can exploit this flaw to perform unauthorized actions on behalf of a logged-in user.
- CVE-2017-10681High
CVE-2017-10681 in Piwigo through 2.9.1 has a CSRF vulnerability that allows remote attackers to hijack user authentication for requests to unlock albums via a crafted request.
- CVE-2017-10680High
CVE-2017-10680 is a CSRF vulnerability in Piwigo through version 2.9.1 that allows remote attackers to hijack user authentication to change a private album to public via a crafted request.
- CVE-2017-10679High
Piwigo through 2.9.1 allows remote attackers to obtain sensitive information about the descriptive name of a permalink by examining the redirect URL that is returned in a request for the permalink ID number of a private album. The permalink ID numbers are easily guessed.
- CVE-2017-10678High
The CSRF vulnerability in Piwigo through version 2.9.1 allows remote attackers to hijack user authentication for requests to delete permalinks via a crafted request.
- CVE-2016-10084High
The admin/batch_manager.php file in Piwigo up to version 2.8.3 has a vulnerability that allows remote authenticated administrators to conduct File Inclusion attacks via the $page['tab'] variable (aka the mode parameter).
- CVE-2015-1441High
SQL injection vulnerability in Piwigo before 2.5.6, 2.6.x before 2.6.5, and 2.7.x before 2.7.3 allows remote attackers to execute arbitrary SQL commands via unspecified vectors.
- CVE-2014-9115High
SQL injection vulnerability in the rate_picture function in Piwigo before 2.5.5, 2.6.x before 2.6.4, and 2.7.x before 2.7.2 allows remote attackers to execute arbitrary SQL commands via the rate parameter to picture.php, related to an improper data type in a comparison of a non-numeric value that begins with a digit.
- CVE-2014-4648High
Unspecified vulnerability in Piwigo before version 2.6.3 has unknown impact and attack vectors, related to a 'security failure.'
Original NVD description (English source)
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.

