Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Requires a registered Joomla account (PR:L, not PR:N); network-based HTTP POST with no complexity; limited integrity write to own row and partial confidentiality via hidden field exposure.
Primary rating from Vendor (Joomla).
CVSS VectorVendor: Joomla
Lifecycle Timeline
3DescriptionCVE.org
K2 ≤ 2.24 contains a mass-assignment defect in the K2 system user plugin plg_user_k2. A Registered Joomla user, by including the field K2UserForm=1 in a standard com_users profile.save POST, can write arbitrary values into the notes, image, and plugins columns of their own row in the #__k2_users table - none of which are exposed by the K2 frontend profile-edit form.
AnalysisAI
Mass-assignment in the K2 Extension for Joomla (versions up to 2.24 per CVE description, up to 2.26 per EUVD-2026-39438) allows any registered Joomla user to overwrite hidden database columns - notes, image, and plugins - in their own #__k2_users row by injecting the K2UserForm=1 parameter into a standard com_users profile.save POST request. The attack is automatable per SSVC assessment, but impact is constrained to the attacker's own user record, with no current active exploitation identified. The plugins column exposure warrants particular scrutiny, as it may influence per-user K2 component behavior in ways beyond simple data tampering.
Technical ContextAI
K2 is a widely-used content component for Joomla CMS that extends the native user system via the plg_user_k2 system plugin (CPE: cpe:2.3:a:getk2.com:k2_extension_for_joomla). This plugin hooks into Joomla's com_users profile.save event to synchronize user data with the #__k2_users database table. CWE-915 - Improperly Controlled Modification of Dynamically-Determined Object Attributes (mass assignment) - occurs when a server-side handler accepts and persists arbitrary attacker-supplied field names without validating against an explicit allowlist. Here, the plugin fails to restrict writable columns when the K2UserForm=1 sentinel field is detected in the POST body, allowing the notes, image, and plugins columns to be written with attacker-controlled values, despite these columns being intentionally absent from the K2 frontend profile-edit form. The plugins column is architecturally significant because K2 may read it to determine per-user plugin configuration, meaning arbitrary writes could produce downstream behavioral effects beyond simple data corruption.
RemediationAI
No specific patched version has been confirmed in the available references; the vendor site at https://www.getk2.org/ should be consulted immediately for an official advisory and upgrade path. As a compensating control, administrators can disable the plg_user_k2 system plugin in Joomla's Plugin Manager, which will prevent the mass-assignment path from being triggered - note that this will break K2 user-profile synchronization and may degrade K2 front-end features that depend on per-user data. Alternatively, a Web Application Firewall rule that strips or rejects the K2UserForm parameter from POST requests to the com_users profile.save endpoint would block exploitation without disabling the plugin, though this requires WAF infrastructure to already be in place and must be tested against legitimate K2 profile-save flows. Regardless of mitigation path, administrators should audit the #__k2_users table - specifically the notes, image, and plugins columns - for anomalous values as an indicator of prior exploitation. If open user registration is enabled, consider restricting it until a patch is available.
More in K2 Extension For Joomla
View allPath traversal in the K2 extension for Joomla (versions 1.0-2.26) allows authenticated Authors to copy arbitrary web-rea
Unauthorized folder deletion in the K2 Extension for Joomla (versions 1.0 through 2.26) exposes a public-facing `item.ch
Unrestricted PHP file upload in K2 extension for Joomla (versions 1.0–2.26) enables any authenticated K2 Author to achie
Cross-site scripting in K2 Extension for Joomla (versions 1.0 through 2.26) exposes any site rendering K2 user profiles
Unrestricted file upload in K2 Extension for Joomla (versions 1.0 through 2.26) permits attackers to embed PHP scripts i
Stored cross-site scripting in K2 extension for Joomla (versions 1.0-2.26) allows an authenticated Author-tier user to i
Same technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39438
GHSA-x6c6-vg4w-8r3r