Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft URL with query param matching missing Bazar field
-
DeliverySend crafted link to authenticated victim
-
ExploitVictim clicks; getValue() falls back to $_REQUEST
-
ExecutionPayload rendered via Twig |raw without escaping
-
ImpactExecute JavaScript in victim's same-origin 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 | Exploitation requires: (1) a YesWiki instance (before 4.7.0) running the Bazar module with at least one form and one publicly readable entry (default read ACL is empty, which canRead() treats as public); (2) a target entry whose stored JSON lacks a specific text/title field key - this occurs when a field is added to a form after the entry was created, a normal wiki lifecycle state, not an unusual configuration; and (3) a victim who clicks the attacker's crafted link (UI:P/UI:R). The attacker names the query parameter after that missing field property (e.g., bf_custom) and supplies the payload. Limiting factors: success depends on the missing-field-key precondition and on user interaction, so it is not a zero-click default-config compromise; HttpOnly cookies prevent direct cookie theft (limiting impact to same-origin authenticated actions and content exfiltration); and no CSP is present to blunt inline script. There is no configuration-only workaround per the vendor - the code path must be patched. |
| Impact | Signals converge on a genuine but moderate-priority issue rather than an emergency. The CVSS 4.0 base is 5.3 (medium): network vector (AV:N), low complexity (AC:L), no privileges (PR:N), but passive user interaction required (UI:P) and only low vulnerable- and subsequent-system impact (VC/VI/SC/SI:L). EPSS is low at 0.18% (7th percentile), there is no CISA KEV listing, and the vuln.today decision label is 'this_month' - all consistent with a vulnerability that is exploitable but not under mass automated exploitation. A public PoC reference exists in the YesWiki GHSA advisory (GHSA-hcvp-q8fx-84mc), which raises exploitability above a purely theoretical finding; it is detailed step-by-step reproduction, not verified packaged exploit code. The low EPSS alongside a published PoC suggests opportunistic/targeted use rather than widespread exploitation, matching the niche deployment footprint of YesWiki. One data conflict must be verified: the aggregate metadata reports 'Patch: Available from vendor' and 'fixed in 4.7.0', but the GHSA advisory body itself states 'Fix status: not fixed' with latest checked release v4.6.7 - confirm the 4.7.0 fix with the vendor before treating the patch as released. Overall this is a real reflected XSS worth remediating this cycle, not a drop-everything event. |
| Exploit ScenarioDerived | An unauthenticated attacker crafts a link to a public Bazar entry that is missing a form field key (a normal state when an admin adds a field to a form after entries already exist), appending a query parameter named after that field with a JavaScript payload. When an authenticated victim clicks the link, BazarField::getValue() falls back to the attacker-controlled $_REQUEST value and it is rendered through a Twig |raw template without escaping, executing script in the victim's session. A public PoC reference exists in the GHSA advisory demonstrating alert(document.domain); session cookies are HttpOnly, but the attacker can still perform same-origin authenticated actions and exfiltrate page content. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Reflected cross-site scripting in YesWiki before 4.7.0 lets unauthenticated remote attackers run JavaScript in a victim’s browser when the victim opens a crafted link targeting a Bazar entry that lacks a stored field key. The attacker supplies the missing field name as a query parameter, and BazarField::getValue() falls back to unsanitized $_REQUEST data rendered through Twig |raw templates; exploitation requires victim interaction and a form entry created before the field was added. Overall risk signals converge on a genuine but moderate-priority issue rather than an emergency: EPSS is 0.18% (7th percentile), no KEV listing is present, a public PoC reference exists but is not verified as working exploit code, and vendor patch 4.7.0 is available.
RemediationAI
Vendor-released patch: upgrade YesWiki to 4.7.0; the GHSA advisory is https://github.com/YesWiki/yeswiki/security/advisories/GHSA-hcvp-q8fx-84mc. The vendor states there is no configuration-only workaround and the code path must be patched. For a backport, remove or restrict the $_REQUEST fallback in BazarField::getValue() at tools/bazar/fields/BazarField.php:193 so it is not used on the render path, or limit it to POST requests during entry creation and update; apply htmlspecialchars() or HtmlPurifierService::cleanHTML() to the fallback value before it reaches |raw, and audit all templates using {{ value|raw }}, including tools/bazar/templates/fields/text.twig and title.twig. These changes address the render-path sanitization gap; filtering global input alone is not a substitute because the fallback to $_REQUEST is the vulnerable behavior.
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
CVE-2026-116823 is a CWE-79 reflected XSS in YesWiki’s Bazar module. BazarField::getValue() at tools/bazar/fields/BazarField.php:193 resolves a field value with $entry[$propertyName] ?? $_REQUEST[$propertyName] ?? $this->default; when a Bazar entry’s stored JSON lacks the field key - for example after an administrator adds a field to an existing form - attacker-controlled GET data in $_REQUEST is returned. TextField::renderStatic() passes that value to Twig templates text.twig and title.twig, which use {{ value|raw }} and therefore bypass auto-escaping; save-time HtmlPurifierService::cleanHTML() sanitization in TextField.php is not applied on this render path. The assessed CVSS 3.1 vector is AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N (5.3): unauthenticated remote exploitation with user interaction, limited confidentiality and integrity impact, and scope change; HttpOnly cookies prevent direct cookie theft, but same-origin authenticated actions and content exfiltration remain possible, and no CSP restricts inline script.
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:L/VI:L/VA:N/SC:L/SI:L/SA:N
Unauthenticated reflected XSS reachable over the network with low complexity but requiring a victim click (UI:R); script runs in the victim's authenticated browser context (S:C) with limited confidentiality/integrity impact and no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
YesWiki before 4.7.0 contains a reflected cross-site scripting vulnerability that allows unauthenticated attackers to inject JavaScript by supplying query parameters matching missing Bazar field names. Attackers can craft links where BazarField::getValue() falls back to unsanitized $_REQUEST values rendered via Twig |raw templates, performing same-origin authenticated actions in victims' sessions.
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-110530
GHSA-5rxq-hc4r-x8r8
NVD
CVE.org
EPSS
VulDB
Exploit-DB