CVE-2016-10082

HIGH7.5/ 10.0
Share:
Published: December 30, 2016 at 07:59 AM
Modified: April 12, 2025 at 10:46 AM
Source: cve@mitre.org

Vulnerability Description

include/functions_installer.inc.php in Serendipity through 2.0.5 is vulnerable to File Inclusion and a possible Code Execution attack during a first-time installation because it fails to sanitize the dbType POST parameter before adding it to an include() call in the bundled-libs/serendipity_generateFTPChecksums.php file.

CVSS Metrics

Base Score
7.5
Severity
HIGH
Vector String
AV:N/AC:L/Au:N/C:P/I:P/A:P

Weaknesses (CWE)

Source: nvd@nist.gov

AI Security Analysis

01 // Technical Summary

Serendipity versions up to 2.0.5 are vulnerable to a critical file inclusion vulnerability, allowing attackers to potentially achieve remote code execution (RCE). This flaw stems from insufficient input validation of the dbType parameter during the initial installation process, enabling malicious actors to inject arbitrary code. Successful exploitation grants attackers full control of the web server.

02 // Vulnerability Mechanism

Step 1: Installation Initiation: The attacker initiates the Serendipity installation process, typically by accessing the setup URL. Step 2: Parameter Manipulation: The attacker crafts a malicious dbType POST parameter. This parameter is designed to point to a malicious PHP file, either hosted locally on the server (if file access is possible) or remotely on a server controlled by the attacker. Step 3: Payload Delivery (if remote): If the attacker is using a remote file, the malicious PHP code is hosted on a server they control. This code will contain commands to be executed on the target server. Step 4: Vulnerable Include: The serendipity_generateFTPChecksums.php file includes the attacker-controlled file using the attacker-supplied dbType value. Step 5: Code Execution: The malicious PHP code within the included file is executed by the web server, granting the attacker control over the server. This could include actions like creating backdoors, stealing data, or further compromising the system.

03 // Deep Technical Analysis

The vulnerability lies within the include/functions_installer.inc.php file and the bundled-libs/serendipity_generateFTPChecksums.php file of Serendipity versions up to 2.0.5. The dbType POST parameter, used during the initial installation, is directly incorporated into an include() call within serendipity_generateFTPChecksums.php without proper sanitization or validation. This allows an attacker to control which file is included. By crafting a malicious dbType value, an attacker can include a local or remote file containing PHP code. This code is then executed by the web server, leading to remote code execution. The root cause is a lack of input validation and improper use of the include() function with user-controlled input.

CVE-2016-10082 - HIGH Severity (7.5) | Free CVE Database | 4nuxd