Skip to main content

YesWiki CVE-2026-116821

| EUVDEUVD-2026-110528 HIGH
SQL Injection (CWE-89)
2026-10-26 VulnCheck GHSA-h5hg-vmvh-92x7
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Self-register wildcard username (___ or %%%)
  2. Delivery
    Authenticate as low-privileged user
  3. Exploit
    Query public Bazar listing API
  4. Execution
    ACL LIKE predicate over-matches tokens
  5. Impact
    Read other users' restricted entries

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires YesWiki self-registration to be enabled, which is the default (noSignupButton=false); the attacker registers an account whose username is composed of LIKE metacharacters ('___' matches any ACL token of length >= 3; '%%%' reduces the predicate to LIKE "%", matching every ACL-protected row), which the UserController::PATTERN_USER_NAME validator accepts because it excludes neither _ nor %. Exploitation then requires calling the public Bazar entry-listing API (e.g. /?api/entries/bazarlist or /?api/forms/{formId}/entries/json) with filterOnReadACL in effect as a non-administrator. Limiting factors: exploitation yields confidentiality loss only of ACL-restricted Bazar/wiki content (no write or availability impact), depends on self-registration being enabled, and requires that Bazar entries with restrictive read ACLs actually exist to be exposed. Per-version note: at or below 4.6.6 the identity is not escaped at all, additionally permitting classic SQL breakout; the 5.0.0-alpha line uses parameterized LIKE ? ESCAPE and is not affected. Vendor interim mitigation is to disable the signup button and audit existing usernames for _ or % characters.

Impact

Signals point to a real but moderate-urgency confidentiality issue rather than a drop-everything emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H) yields 7.1 and reflects network-reachable, low-complexity exploitation requiring only a low-privileged account - and since self-registration is enabled by default (noSignupButton=false), that PR:L barrier is trivially met by any anonymous visitor. Impact is confidentiality-only (VC:H, VI:N, VA:N): no write or availability effect was demonstrated. Countervailing signals temper urgency: EPSS is 0.28% (20th percentile), there is no CISA KEV listing, and no active exploitation is reported - VulnCheck authored the advisory. A detailed public reproduction (register '___' or '%%%', hit the Bazar listing API) exists in the GHSA advisory, so exploitation is technically straightforward, but it is a PoC description, not packaged weaponized code. The vuln.today decision label is 'this_week', consistent with a serious access-control break that is not under active mass exploitation. One material conflict must be flagged: the input metadata and EUVD say this is fixed in 4.7.0, yet the referenced patch commit f3b0dd09 only modifies SearchManager numeric-filter handling (the fix for the separate CVE-2026-52770) and does not touch AclService where this flaw lives - verify the actual fix version with the vendor before treating 4.7.0 as remediated.

Exploit ScenarioDerived

An attacker self-registers on a default YesWiki install with a username made of SQL LIKE wildcards (e.g. '___' or '%%%'), which the username validator accepts. Logging in and calling the public Bazar entry-listing API, the attacker's name is interpolated unescaped into the ACL predicate 'list LIKE "%<name>%"', causing it to over-match ACL tokens and return pages and Bazar entries restricted to other users or groups (including admin-restricted content). A public proof-of-concept with step-by-step reproduction exists in the GHSA advisory, though it is not verified as packaged working exploit code.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 28, 2026

YesWiki releases up to and including 4.6.7 let a self-registered, low-privileged account read wiki pages and Bazar entries whose read ACLs are restricted to other users or groups. The flaw is a read-ACL bypass: AclService builds its access filter with a SQL LIKE pattern built from the account name, and the escaping applied (mysqli_real_escape_string) neutralises quotes but not the LIKE metacharacters _ and %, so a name such as '___' or '%%%' over-matches ACL tokens it was never granted. Exploitation is confirmed to require only self-registration (on by default) plus a call to the public Bazar listing API; the upstream advisory includes reproduction steps but no independently verified working exploit code is referenced, EPSS is low at 0.28% (20th percentile), and there is no CISA KEV entry. Impact is confidentiality-only - no write or availability effect was demonstrated, and the practical exposure depends on access-restricted Bazar entries actually existing on the target.

RemediationAI

Vendor-released patch: upgrade to YesWiki 4.7.0, the version in which yeswiki/yeswiki is fixed. There is no separate code-level workaround short of the vendor release, so the interim mitigation published upstream is to disable self-registration (turn the signup button off / set noSignupButton so new accounts cannot be created) and to audit existing account names for the characters _ and %, since a wildcard-only name such as '___' or '%%%' is the exploitation primitive; the trade-off is that closing registration blocks legitimate new users and the audit only removes existing exposure, leaving existing ACL-restricted content readable by any already-registered wildcard account until the code is fixed. Patching is the only complete fix and should also cover the more severe pre-4.6.7 condition, where an unescaped identity allows classic SQL breakout via a double quote in a username. Applying only commit f3b0dd093a7ace47dc29a515faeb02635baceae2 does not remediate this issue because it modifies Bazar numeric-filter handling in SearchManager.php and leaves the LIKE-based ACL construction intact. Confirm the fixed build by verifying the deployed version is 4.7.0 or later; the 5.0.0-alpha line already neutralises the over-match via parameterised LIKE ESCAPE clauses but is a pre-release and not a supported upgrade target. Advisory details and version confirmation are at https://github.com/YesWiki/yeswiki/security/advisories/GHSA-q5j6-79p7-mp94.

Affected VersionsENISA

yeswiki 0 <4.7.0

Affected Packages

euvd yeswiki fix: 4.7.0

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 enforces read access to Bazar entries by storing a delimited list of identity tokens (usernames, group names, or '*') in a list ACL column, and requiring that a user only receive rows whose tokens include their own identity. AclService::updateRequestWithACL() (includes/services/AclService.php, LIKE construction around lines 414 and 420) implements that check as list LIKE "%<identity>%". The identity value is passed through DbService::escape(), a thin wrapper over mysqli_real_escape_string, which handles NUL, newline, carriage return, backslash, single and double quotes and \x1a - but leaves _ (single-character wildcard) and % (any-sequence wildcard) untouched. This is CWE-89, improper neutralisation of special elements in SQL, manifesting specifically as LIKE-pattern injection rather than classic quote breakout: the user's own username becomes part of the pattern. The username validator UserController::PATTERN_USER_NAME (^[^!#@<>\\\/][^<>\\\/]{2,}$) excludes neither character, and self-registration is on by default (noSignupButton=false), so the attacker fully controls the wildcard content of the pattern. The post-query guard Guard::checkAcls() only blanks individual field values inside entries that were returned; it does not discard over-matched rows, and the exact-match AclService::check() used by the text-search action is not invoked on the Bazar listing path. A secondary owner = _utf8'<name>' branch uses SQL equality, where wildcards have no meaning, so it grants nothing extra. Version nuance: at or below 4.6.6 the identity is not escaped at all, which additionally permits classic SQL breakout via a double quote in a username (strictly more severe, same root location), one release later escape() blocked breakout but not wildcard over-matching, and the 5.0.0-alpha1 through alpha3 pre-release line is not affected because it moved to parameterised LIKE ? ESCAPE '!' clauses whose bound values are pre-escaped for %, _ and the escape character.

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

Vendor (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network API reachable (AV:N) with a trivially self-registered low-privilege account (PR:L), no user interaction; confidentiality-only exposure of restricted content so C:H, I:N, A:N, scope unchanged.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

YesWiki before 4.7.0 contains a read-ACL bypass in AclService::updateRequestWithACL, which interpolates usernames into SQL LIKE patterns without escaping the _ and % wildcards. Self-registered attackers can use usernames such as ___ or %%% that over-match ACL tokens, reading pages and Bazar entries restricted to other users or groups via the public Bazar listing API.

Executive ViewAI

Why It Matters

CVE-2026-116821 affects YesWiki, allowing any self-registered user to bypass read access controls and view restricted wiki pages and Bazar entries. This confidentiality breach could expose sensitive organizational information to unauthorized parties, undermining trust in the platform's access control mechanisms and potentially leading to data leakage or compliance issues.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Low
niche open-source French wiki, limited enterprise deployment footprint
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

CVE-2025-31131 HIGH POC
8.6 Apr 01

YesWiki is a wiki system written in PHP. Rated high severity (CVSS 8.6), this vulnerability is remotely exploitable, no

CVE-2025-46348 CRITICAL POC
10.0 Apr 29

YesWiki is a wiki system written in PHP. Rated critical severity (CVSS 10.0), this vulnerability is remotely exploitable

CVE-2026-52778 CRITICAL POC
9.8 Jun 08

Remote code execution in YesWiki prior to 4.6.6 allows unauthenticated attackers to inject arbitrary PHP via the Bazar C

CVE-2024-51478 CRITICAL POC
9.1 Oct 31

YesWiki is a wiki system written in PHP. Rated critical severity (CVSS 9.1), this vulnerability is remotely exploitable,

CVE-2025-46349 HIGH POC
7.6 Apr 29

YesWiki is a wiki system written in PHP. Rated high severity (CVSS 7.6), this vulnerability is remotely exploitable, no

CVE-2026-116205 MEDIUM POC
6.9 Oct 25

Unauthenticated server-side request forgery in YesWiki before 4.7.0 lets any remote visitor make the wiki server issue H

CVE-2025-46347 MEDIUM POC
5.8 Apr 29

YesWiki is a wiki system written in PHP. Rated medium severity (CVSS 5.8), this vulnerability is remotely exploitable, n

CVE-2025-46346 MEDIUM POC
6.3 Apr 29

YesWiki is a wiki system written in PHP. Rated medium severity (CVSS 6.3), this vulnerability is remotely exploitable, n

CVE-2025-52277 MEDIUM POC
6.1 Sep 09

Cross Site Scripting vulnerability in YesWiki v.4.54 allows a remote attacker to execute arbitrary code via a crafted pa

CVE-2018-1000641 CRITICAL
9.8 Aug 20

YesWiki version <= cercopitheque beta 1 contains a PHP Object Injection vulnerability in Unserialising user entered para

CVE-2026-104467 CRITICAL
9.2 Oct 02

Authorization bypass in YesWiki before 4.6.7 lets unauthenticated remote attackers call admin-only API routes when the i

CVE-2026-104445 HIGH
8.8 Oct 02

Unauthenticated attackers can delete or overwrite federated entries in YesWiki instances before 4.6.7 that have Activity

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy