Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-65012

CVE-2025-65012: Getkirby Kirby CMS XSS Vulnerability

CVE-2025-65012 is a cross-site scripting vulnerability in Getkirby Kirby CMS that allows attackers to inject malicious code through page titles or usernames. This article covers the technical details, affected versions, and mitigation.

Updated:

CVE-2025-65012 Overview

CVE-2025-65012 is a stored cross-site scripting (XSS) vulnerability in Kirby, an open-source content management system. The flaw affects Kirby versions 5.0.0 through 5.1.3. Attackers with write access to page titles or usernames can inject malicious strings that execute in the Panel of other authenticated users. The vulnerability triggers when a victim opens the "Changes" dialog, which renders the attacker-controlled title or username without adequate sanitization. Kirby released version 5.1.4 to address the issue. The weakness is classified as [CWE-79] Improper Neutralization of Input During Web Page Generation.

Critical Impact

Authenticated attackers can execute arbitrary JavaScript in another Panel user's browser session, enabling account takeover or content manipulation within the Kirby admin interface.

Affected Products

  • Kirby CMS 5.0.0 through 5.1.3
  • Kirby 5 sites permitting external visitors to update page titles or usernames
  • Kirby 5 sites with multiple authenticated Panel users

Discovery Timeline

  • 2025-11-18 - CVE-2025-65012 published to the National Vulnerability Database (NVD)
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2025-65012

Vulnerability Analysis

The vulnerability lives in the Kirby Panel's "Changes" dialog, which lists models with unsaved modifications. Attackers first change the title of a page or the name of a user to a payload containing executable markup. They then modify any content field on that same model without saving. The unsaved state marks the model as a candidate for display in the "Changes" dialog. When another authenticated Panel user opens the dialog, the Panel renders the malicious title or username and executes the injected script in that user's browser context.

The exploitation flow requires user interaction from a second Panel user and cannot be automated. Still, any Panel user viewing recent changes is a valid target. Successful execution runs JavaScript with the victim's Panel privileges, which may include content publishing, user management, or configuration changes depending on the victim's role.

Root Cause

The root cause is improper output encoding of user-controlled fields (page titles and user names) when rendered inside the Panel's "Changes" dialog. The Panel treated these values as trusted display strings rather than untrusted input requiring HTML escaping. See the GitHub Security Advisory GHSA-84hf-8gh5-575j for vendor technical details.

Attack Vector

The attack vector is network-based and requires low-privilege authentication or, alternatively, a public workflow that lets external visitors update titles or usernames. The attacker sets a malicious title or username, then dirties a content field on the same model to force it into the "Changes" queue. Payload execution depends on a second Panel user opening the dialog. The vulnerability does not require elevated privileges to plant the payload, but it requires victim interaction to fire.

No verified public proof-of-concept code is available. Refer to the Kirby 5.1.4 release notes for remediation details.

Detection Methods for CVE-2025-65012

Indicators of Compromise

  • Page titles or user names containing HTML tags, <script> fragments, or JavaScript event handlers such as onerror= or onload=.
  • Unexpected outbound requests originating from Panel user browsers to attacker-controlled domains shortly after opening the Panel.
  • Audit log entries showing title or username changes immediately followed by unsaved content edits on the same model.

Detection Strategies

  • Review the Kirby content directory and user configuration files for title and name fields containing markup or JavaScript syntax.
  • Inspect Panel session activity for anomalous API calls made shortly after a user opened the "Changes" dialog.
  • Correlate web server access logs for POST requests to page and user update endpoints from unauthenticated or low-privilege sources.

Monitoring Recommendations

  • Enable verbose Panel activity logging and forward events to a centralized logging or SIEM platform for rule-based alerting on suspicious title or name mutations.
  • Alert on any title or username field that contains <, >, or javascript: substrings.
  • Monitor for role or permission changes performed by administrators shortly after Panel access, which may indicate session hijacking.

How to Mitigate CVE-2025-65012

Immediate Actions Required

  • Upgrade all Kirby installations to version 5.1.4 or later without delay.
  • Audit existing pages and users for malicious markup in title and name fields, and sanitize any suspicious values before re-enabling Panel access.
  • Rotate Panel user sessions and credentials for accounts that may have viewed the "Changes" dialog while affected content was present.

Patch Information

The issue is fixed in Kirby 5.1.4. Download the patched release from the Kirby 5.1.4 GitHub release page. Composer users can update by running composer require getkirby/cms:^5.1.4 in the project root. Verify the deployed version through the Panel or by inspecting kirby/composer.json after the upgrade.

Workarounds

  • Restrict Panel access to trusted users only until the upgrade is applied.
  • Disable any frontend forms or API endpoints that allow unauthenticated or low-privilege users to modify page titles or usernames.
  • Instruct Panel users to avoid opening the "Changes" dialog until the upgrade completes on affected instances.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.