PHP
CVE-2026-39387
HIGH
Severity by source
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
4DescriptionGitHub Advisory
BoidCMS is an open-source, PHP-based flat-file CMS for building simple websites and blogs, using JSON as its database. Versions prior to 2.1.3 are vulnerable to a critical Local File Inclusion (LFI) attack via the tpl parameter, which can lead to Remote Code Execution (RCE).The application fails to sanitize the tpl (template) parameter during page creation and updates. This parameter is passed directly to a require_once() statement without path validation. An authenticated administrator can exploit this by injecting path traversal sequences (../) into the tpl value to escape the intended theme directory and include arbitrary files - specifically, files from the server's media/ directory. When combined with the file upload functionality, this becomes a full RCE chain: an attacker can first upload a file with embedded PHP code (e.g., disguised as image data), then use the path traversal vulnerability to include that file via require_once(), executing the embedded code with web server privileges. This issue has been fixed in version 2.1.3.
AnalysisAI
Local File Inclusion in BoidCMS versions prior to 2.1.3 enables authenticated administrators to execute arbitrary PHP code via path traversal in the tpl parameter combined with file upload. The vulnerability chains unsanitized require_once() inclusion with media upload functionality, allowing attackers to upload malicious files and force their execution with web server privileges. Vendor-released patch available in version 2.1.3. CVSS 7.2 reflects high-privilege requirement (administrator access), but exploitation complexity is low once authenticated. No CISA KEV listing or public exploit code identified at time of analysis.
Technical ContextAI
BoidCMS is a flat-file content management system written in PHP that uses JSON for data persistence rather than traditional databases. The vulnerability stems from CWE-98 (Improper Control of Filename for Include/Require Statement in PHP Program), a class of injection flaws where user-controlled input flows directly into file inclusion functions. The application's page creation and update functionality accepts a tpl (template) parameter intended to specify theme files, but passes this value unsanitized to PHP's require_once() statement. Without path canonicalization or whitelist validation, attackers can inject directory traversal sequences (../) to escape the intended /themes/ directory scope. PHP's require_once() executes any included file as code, so traversing to the /media/ upload directory and including a file containing embedded PHP transforms a path traversal vulnerability into remote code execution. This attack pattern is particularly dangerous in flat-file CMS architectures where upload directories and executable content share the same filesystem hierarchy without isolation.
RemediationAI
Upgrade immediately to BoidCMS version 2.1.3, which contains input validation fixes that prevent path traversal in the tpl parameter. The patched version is available from the official GitHub releases page at https://github.com/BoidCMS/BoidCMS/releases/tag/v2.1.3. Review the security advisory at https://github.com/BoidCMS/BoidCMS/security/advisories/GHSA-45xp-xw54-6cv6 for additional context. After upgrading, audit existing page configurations for suspicious tpl values containing traversal sequences and review media upload directories for files with embedded PHP code uploaded by admin accounts. As a temporary mitigation for environments where immediate patching is not feasible, restrict administrator account access to only trusted personnel, implement web application firewall rules to block requests containing directory traversal patterns in the tpl parameter, and consider filesystem-level restrictions preventing the web server from executing files in the media upload directory.
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
NetAlertX (formerly PiAlert) versions 23.01.14 through 24.x before 24.10.12 allow unauthenticated command injection thro
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
Same weakness CWE-98 – PHP Remote File Inclusion
View allShare
External POC / Exploit Code
Leaving vuln.today