Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Network-accessible Panel endpoint requires only a valid non-admin login (PR:L, AC:L); impact limited to license key confidentiality with no integrity, availability, or scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
kirby-modules through 5.5.7, fixed in commit 315417e, contains an information disclosure vulnerability that allows any authenticated Kirby Panel user to retrieve the full plaintext commercial license key by sending a GET request to the modules/activate dialog endpoint. The plugin's activate dialog handler in lib/areas.php returns the complete key via ModulesLicense::readKey() without performing an administrator check, as the dialog is gated only by the access.system permission which defaults to true for all non-admin roles, enabling attackers to use the disclosed key to activate the plugin on arbitrary third-party installations.
AnalysisAI
kirby-modules through version 5.5.7 exposes the complete plaintext commercial license key to any authenticated Kirby Panel user - including non-admin roles such as editors and authors - via a single GET request to the modules/activate dialog endpoint. The root cause is a missing authorization check (CWE-862) in lib/areas.php: the handler calls ModulesLicense::readKey() without verifying administrator status, relying instead on the access.system permission that defaults to true for all non-admin Panel roles. No active exploitation is confirmed by CISA KEV and no public exploit code has been identified, but the CVSS 4.0 vector (PR:L, AC:L, AV:N) indicates this is trivially reproducible by any Panel account holder, with the primary downstream consequence being unauthorized activation of the plugin on third-party Kirby installations.
Technical ContextAI
kirby-modules is a commercial PHP plugin for Kirby CMS - a flat-file content management system - developed by medienbaecker and identified by CPE cpe:2.3:a:medienbaecker:kirby-modules:*:*:*:*:*:*:*:*. The CWE-862 (Missing Authorization) root cause manifests in lib/areas.php, where the activate dialog handler returns the output of ModulesLicense::readKey() to any authenticated Panel user without an administrator role check. The dialog is access-controlled solely by the Kirby permission 'access.system', which resolves to true by default for all non-admin roles, making it an insufficient gate for a sensitive operation like key retrieval. The upstream fix in commit 315417e4 introduces a new ModulesLicense::code(bool $obfuscated) method that returns the first 10 characters of the key concatenated with 22 'X' placeholder characters for non-admin users, while administrators continue to receive the full key. This confirms the fix is obfuscation-based rather than full access denial for the endpoint.
RemediationAI
Update kirby-modules to any release incorporating commit 315417e4fa9f18682e4382c9f44c04bd0913ce96 or later, which adds role-aware key obfuscation so non-admin Panel users receive only the first 10 characters of the license key followed by 22 placeholder characters. The patch reference and VulnCheck advisory are at https://github.com/medienbaecker/kirby-modules/commit/315417e4fa9f18682e4382c9f44c04bd0913ce96 and https://www.vulncheck.com/advisories/kirby-modules-license-key-disclosure-via-modules-activate-dialog respectively. The exact patched release version is not independently confirmed beyond the commit, so verify with the plugin author. As an interim workaround, restrict Kirby Panel access to administrator accounts only by revoking or demoting non-admin Panel users - note this will prevent editors and authors from using the Panel until the patch is applied. If the license key may have already been exposed, contact the plugin vendor to rotate or invalidate the affected key to prevent unauthorized third-party activations.
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-862 – Missing Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-46423
GHSA-w794-j6vc-x62h