Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
PR:L reflects mandatory Author-level authentication; C:H because arbitrary web-readable files including database credentials are exfiltrated; no integrity or availability impact occurs.
Primary rating from Vendor (Joomla).
CVSS VectorVendor: Joomla
Lifecycle Timeline
3DescriptionCVE.org
The K2 frontend article-save handler accepts an attachment[N][existing] POST field that is concatenated with JPATH_SITE/ and passed to JFile::copy(). JPath::clean does NOT strip .., and there is no allow-list of source paths. An Author can therefore copy configuration.php (or any other file readable by the web user - including ../../../etc/passwd) into /media/k2/attachments/, then retrieve the contents via the K2 attachment-download endpoint.
AnalysisAI
Path traversal in the K2 extension for Joomla (versions 1.0-2.26) allows authenticated Authors to copy arbitrary web-readable files - including Joomla's database credential file configuration.php and OS files such as /etc/passwd - into a publicly accessible directory for retrieval. The article-save handler's attachment[N][existing] POST parameter is concatenated with JPATH_SITE/ and passed directly to JFile::copy() without stripping ../ sequences or enforcing a source-path allow-list, making traversal trivial. No public exploit has been identified at time of analysis and the vulnerability is not listed in CISA KEV, but the confidentiality impact is severe on multi-author Joomla sites where Author accounts may be widely distributed.
Technical ContextAI
K2 is a PHP-based content management extension for the Joomla CMS, distributed by getk2.com (CPE: cpe:2.3:a:getk2.com:k2_extension_for_joomla:*:*:*:*:*:*:*:*). The flaw resides in the frontend article-save handler, which processes a POST field named attachment[N][existing] representing the path of an existing attachment file. This value is prefixed with JPATH_SITE/ - the Joomla webroot constant - and supplied directly to Joomla's JFile::copy() function. Although JPath::clean() is available in the Joomla framework for path normalization, it does not strip ../ traversal sequences, and the handler applies no allow-list restricting source paths to a safe subdirectory. This is a textbook CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) flaw: user-controlled input traverses outside the intended directory tree. The copied file lands in /media/k2/attachments/, a web-accessible location, from which it can be retrieved via K2's attachment-download endpoint.
RemediationAI
Consult the vendor advisory at https://www.getk2.org/ and apply any K2 release beyond 2.26 that addresses the path traversal in the article-save handler - no confirmed patch version is available in the current intelligence data, so monitor the vendor channel actively. As an immediate compensating control, disable frontend article submission in K2's component settings or via Joomla's global configuration, which removes the vulnerable POST endpoint from the attack surface entirely; note this will prevent Authors from submitting articles via the frontend. Restrict the Joomla Author role to fully trusted users and audit existing Author accounts for unnecessary grants. Enforce PHP open_basedir restrictions scoped to the Joomla webroot to prevent JFile::copy() from reading files outside the intended directory tree - test this in staging first, as it may affect legitimate K2 attachment handling. Additionally, consider relocating configuration.php outside JPATH_SITE using Joomla's defines override, which prevents the PHP process from copying it even if the traversal is triggered.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
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
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
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
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39440
GHSA-858x-6wp8-wp5c