Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAnonymously edit wiki page on default ACLs
-
DeliveryInject payload via filtertags action attribute parameter
-
ExploitBypass allow_raw_html gate, store raw markup
-
ExecutionVictim loads page, JavaScript runs in their session
-
ImpactSession theft or defacement
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 | Default install posture is the key enabler: on a fresh YesWiki install page ACLs are read=* and write=*, so any anonymous visitor can create/edit the page carrying the payload (the only friction is a hashcash token the page's own JS fetches without auth). The injection must ride the {{filtertags ...}} action's attribute syntax (e.g. filter1=, title, or tagbadges), which is processed before and instead of the wakka formatter's allow_raw_html gate - so it works even on the strict allow_raw_html=0 posture. Parser gates constrain the payload: filtertags splits token values on ',' and rejects values with more than one ':', and the value is echoed unquoted so it must avoid whitespace and '"' (the advisory's <img src=1 onerror=...> payload is shaped to meet all three). Execution additionally requires a victim to view the stored page (UI:P). The principal limiting factor is non-default ACLs: an instance that restricts page write/edit to authenticated users removes the anonymous-storage vector, requiring an authenticated editor instead. |
| Impact | Signals point to a genuine but moderate priority. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P) rates it 5.3 (medium): network-reachable, low complexity, no privileges, and only passive user interaction (a victim merely viewing the stored page). Impact is confined to the subsequent system - the victim's browser - with SC:L/SI:L and no impact on the vulnerable server itself (VC:N/VI:N/VA:N), which is why the score stays medium despite PR:N. The vuln.today Decision label is 'this_month', not act_now/emergency, consistent with that medium severity. The amplifying factor is deployment posture: the GHSA advisory documents a live, anonymous proof-of-concept against a default install (read=*, write=*), and notes the action-parameter path specifically defeats the allow_raw_html=0 strict posture - so the usual 'editors only' mitigation does not apply. No EPSS score and no KEV listing were provided in the input, so there is no evidence of active exploitation or a quantified exploitation probability; absence of these is not evidence against risk, but it means urgency rests on the working PoC plus default-install exploitability, not on observed attacks. Net: a real issue worth patching this cycle, not a drop-everything emergency. |
| Exploit ScenarioDerived | An anonymous attacker edits or creates a YesWiki page on a default-configured instance, embedding a {{filtertags filter1="..."}} action whose attribute value carries an <img onerror=...> payload that survives the parser's comma/colon/quote constraints. The malicious markup is stored unencoded and executes in the browser of every subsequent visitor, enabling session-cookie theft, defacement, or drive-by actions in an authenticated admin's session. A detailed, live-executed PoC with a working payload is published in the GHSA advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 25, 2026
Stored cross-site scripting in YesWiki before 4.7.0 allows anonymous visitors to plant markup in the {{filtertags}} action's attribute parameters, which the action echoes into page HTML without output encoding and which then executes in the browser of every user who views the page. Because the payload travels through the action-attribute parsing path, it is processed before - and instead of - the wakka formatter's allow_raw_html gate, so it still works on installations that have set allow_raw_html=0 to block editor-supplied markup. The default install posture (page ACLs read=* and write=*) lets anyone store the payload anonymously, with a hashcash token as the only friction; execution still requires a victim to open the page (UI:P). The GitHub advisory includes a detailed PoC with a recorded live execution against v4.6.7; no CISA KEV entry or active-exploitation confirmation was provided and no EPSS figure was supplied, and the fix is YesWiki 4.7.0.
RemediationAI
Upgrade to YesWiki 4.7.0, the vendor-released fixed version (composer package yeswiki/yeswiki, fixed in 4.7.0), following the guidance in GHSA-f53x-3gqx-xq76; the underlying fix is output-encoding $tagname and $param['title'] and the tagbadges value at the echo sites in tools/tags/actions/filtertags.php, matching the discipline already applied to the data-filter attribute. If upgrading cannot be done immediately, the effective compensating control is to change page ACLs so that write/edit requires authenticated users, which removes the anonymous-storage vector described in the advisory but also removes YesWiki's default open-editing collaboration model; disabling the filtertags action or blocking the {{filtertags}} syntax for untrusted editors achieves the same end with the side effect of breaking tag-filter UI on affected pages. Leaving allow_raw_html=0 in place is not a mitigation against this issue, since the action-attribute path bypasses that gate by design. Note that any page already containing a crafted filtertags payload remains dangerous after the upgrade until its stored content is reviewed and cleaned, so inspect recently created or edited pages for filtertags attribute values containing markup.
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
YesWiki renders pages through its wakka formatter, which normally refuses raw markup from editors when allow_raw_html is disabled (formatters/wakka.php:277-283). The filtertags action in tools/tags/actions/filtertags.php breaks that model: at line 44 the button's data-filter attribute is passed through sanitizeEntity(_convert(...)), but the button's inner text ($tagname) is echoed raw - as are $param['title'] (line 42) and the tagbadges value (around line 60). The path is page body {{filtertags filter1="..."}} → YesWiki::GetParameter() parsing (name)="(value)" verbatim (includes/YesWiki.php:800-807) → get_filtertags_parameters_recursive() storing the token unencoded (tools/tags/libs/tags.functions.php:73-90) → raw echo. Two parser-side constraints shape the payload: get_filtertags_parameters_recursive() splits token values on ',' and rejects values containing more than one ':', and the value is echoed unquoted so whitespace and double quotes must be avoided - the advisory's <img src=1 onerror=...> payload is constructed to satisfy all three. The root cause class is CWE-79 (improper neutralization of input during web page generation), specifically a missing output-encoding step on a value that was treated as data but is emitted in an HTML text context. The advisory notes this is the output-side sibling of an earlier SQL-side GHSA fix in the same action that shipped in v4.6.7 and did not cover the echo sites.
Know when Yeswiki 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Anonymous storage on default ACLs gives PR:N; stored XSS executing in a victim's browser requires them to view the page (UI:R) and crosses into their session (S:C) with low confidentiality/integrity and no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
YesWiki before 4.7.0 contains a stored cross-site scripting vulnerability in the filtertags action, which echoes attacker-controlled token values without output encoding. Anonymous attackers can inject markup via action-attribute parameters that bypasses the allow_raw_html gate, executing JavaScript for every page viewer.
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.
YesWiki is a wiki system written in PHP. Rated high severity (CVSS 8.6), this vulnerability is remotely exploitable, no
YesWiki is a wiki system written in PHP. Rated critical severity (CVSS 10.0), this vulnerability is remotely exploitable
Remote code execution in YesWiki prior to 4.6.6 allows unauthenticated attackers to inject arbitrary PHP via the Bazar C
YesWiki is a wiki system written in PHP. Rated critical severity (CVSS 9.1), this vulnerability is remotely exploitable,
YesWiki is a wiki system written in PHP. Rated high severity (CVSS 7.6), this vulnerability is remotely exploitable, no
Unauthenticated server-side request forgery in YesWiki before 4.7.0 lets any remote visitor make the wiki server issue H
YesWiki is a wiki system written in PHP. Rated medium severity (CVSS 5.8), this vulnerability is remotely exploitable, n
YesWiki is a wiki system written in PHP. Rated medium severity (CVSS 6.3), this vulnerability is remotely exploitable, n
Cross Site Scripting vulnerability in YesWiki v.4.54 allows a remote attacker to execute arbitrary code via a crafted pa
YesWiki version <= cercopitheque beta 1 contains a PHP Object Injection vulnerability in Unserialising user entered para
Authorization bypass in YesWiki before 4.6.7 lets unauthenticated remote attackers call admin-only API routes when the i
Unauthenticated attackers can delete or overwrite federated entries in YesWiki instances before 4.6.7 that have Activity
EUVD-2026-109461
GHSA-2cq3-2fgh-69rq
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB