Skip to main content

YesWiki CVE-2026-116828

| EUVDEUVD-2026-110535 MEDIUM
SQL Injection (CWE-89)
2026-10-26 VulnCheck GHSA-hxwq-9qc3-4972
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as administrator
  2. Delivery
    Create page invoking {{despam}} action
  3. Exploit
    Submit crafted 'from' POST parameter
  4. Execution
    Break out of unquoted INTERVAL operand
  5. Impact
    Blind-read yeswiki_users.password hashes

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 an authenticated YesWiki administrator - despam.php is gated on UserIsAdmin() at line 23, so this cannot be reached by anonymous or low-privileged users. The attacker must reach the {{despam}} action (an admin can create the page per YesWiki's own anti-spam documentation) and submit its form (second gate is the form's own submit button, $_POST['2']). Creating the action page is subject to the hashcash antispam (use_hashcash defaults to true in tools/security/config.yaml), which the published PoC solves programmatically rather than being a true barrier. No other non-default configuration is required: all YesWiki versions before 4.7.0 are affected in default installs. The exploit as run is read-only (blind reads via the SELECT that lists candidate pages); the dominant limiting factor is the administrator-privilege requirement, not configuration.

Impact

This is a genuine but gated confidentiality issue rather than a drop-everything emergency, and the signals are internally consistent. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N/VC:H) scores 6.9 (medium): network-reachable over HTTP with low complexity, but PR:H means it is exploitable only by an authenticated administrator, and impact is confidentiality-only (blind database reads). EPSS is low at 0.25% (16th percentile) and the CVE is NOT in CISA KEV, so there is no evidence of active or widespread exploitation. Offsetting that, a full, self-verifying PoC is published in the vendor GHSA advisory and confirmed working against development HEAD, which removes any research barrier for an attacker who already holds admin access. The vuln.today decision label is 'this_month', which aligns with the combined picture: credible and weaponized in PoC form, but bounded by the administrator-privilege precondition and low observed exploitation. The practical escalation concern is that the blind read targets yeswiki_users.password hashes, so one compromised or malicious admin can harvest other users' (including other admins') credentials - the same escalation path noted for CVE-2026-46670. No signals conflict here; the main caveat is that risk is almost entirely a function of how exposed and trusted YesWiki admin accounts are in a given deployment.

Exploit ScenarioDerived

An authenticated administrator (or an attacker who has phished or reused credentials for an admin account) creates a page containing the {{despam}} action and submits its form with a crafted 'from' POST parameter. Because the value is escaped but placed in an unquoted INTERVAL operand, the attacker breaks out with parentheses and comment markers to append boolean/time-based conditions, using the rendered result-row count as an oracle to blind-read arbitrary data including yeswiki_users.password. A full self-verifying PoC exists and is confirmed working; attack complexity is low once admin access is held.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 28, 2026

Blind SQL injection in the YesWiki despam action (tools/security/actions/despam.php) allows an authenticated administrator to read arbitrary data from the wiki database, including rows from yeswiki_users such as password hashes, affecting every release before 4.7.0. The 'from' POST parameter is passed through mysqli_real_escape_string() but then lands in an unquoted INTERVAL operand, so escaping is inapplicable and attacker-supplied parentheses, keywords and comment markers are interpreted as SQL. Exploitation requires a YesWiki administrator account (despam.php is gated on UserIsAdmin() at line 23); a public proof-of-concept script is published in the vendor's GitHub security advisory and was verified against the doryphore-dev branch, with the result-row count and SLEEP() timing both serving as blind oracles. EPSS is low at 0.25% (16th percentile) and there is no KEV entry; the vuln.today decision label is 'this_month', reflecting a genuine but privilege-gated confidentiality issue rather than an emergency.

RemediationAI

Upgrade YesWiki to 4.7.0 or later - the vendor-released patch ships the corrected statement that casts the parameter (interval ' . intval($_POST['from']) . " hour)), closing the injection without changing expected behaviour for legitimate interval values, per the advisory at https://github.com/YesWiki/yeswiki/security/advisories/GHSA-w7cp-76pj-w4m5. If upgrading immediately is not possible, the practical compensating control is administrative rather than network-level: restrict YesWiki administrator accounts to fully trusted operators and review who holds them, since the vulnerability is unreachable without admin rights, and audit any existing pages containing the {{despam}} action, removing them where they are not actively needed (note that this breaks the documented spam-cleanup workflow). Leaving YesWiki's hashcash antispam enabled (use_hashcash, default true in tools/security/config.yaml) raises the effort of automatically planting a despam page but does not stop a determined attacker - the published PoC solves the hashcash challenge programmatically - so it is not a substitute for patching. Because the demonstrated impact is blind read of the wiki database including yeswiki_users password hashes, rotate administrator and user credentials and review database logs for anomalous despam requests if the instance ran unpatched with untrusted admin access; YesWiki stores passwords as md5, so any exposure should be treated as equivalent to plaintext credential compromise.

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

The flaw is CWE-89 SQL injection arising from a type-confusion between escaping and casting. In despam.php the query builds where time > date_sub(now(), interval ' . DbService::escape($_POST['from']) . " hour)", where DbService::escape() is a thin wrapper over mysqli_real_escape_string(). That function neutralises quotes only; it does not touch parentheses, SQL keywords, operators or comment markers, and an unquoted INTERVAL count needs none of those to be abused. Supplying 744 hour) OR (1=1) -- closes the date_sub() call and appends an arbitrary boolean predicate, which turns the candidate-page listing into a boolean oracle exposed over HTTP: the result table renders one <input name="suppr[]"> checkbox per matching page, so the row count reveals the truth value of the injected condition. Because YesWiki actions are embedded in page content, an administrator who creates a page containing {{despam}} - which YesWiki's own anti-spam documentation recommends for spam cleanup - exposes the form; the second gate is the form's own submit button ($_POST['2']). Page creation is protected by YesWiki's hashcash antispam (use_hashcash defaults to true in tools/security/config.yaml), but the published PoC solves that challenge programmatically via tools/security/wp-hashcash-getkey.php, so it is not a real barrier. One published claim is inaccurate: the -- comment does not neutralise the and latest = 'Y' guard, because that clause sits on the next line of a multi-line statement, so the comment only reaches the end of its own line. The correct fix is a cast, not stronger escaping: interval ' . intval($_POST['from']) . " hour)". The PoC as demonstrated is read-only (it only affects the SELECT that lists candidate pages), leaving integrity and availability untouched, which matches the assessed CVSS:3.1 vector AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N.

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 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.9 MEDIUM

Network HTTP reachable (AV:N) and escaping is simply inapplicable to the unquoted position (AC:L), but the admin-only UserIsAdmin() gate forces PR:H; impact is blind DB read only, so C:H and I:N/A:N.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:H/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
High
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

Lifecycle Timeline

1
Patch available
Oct 27, 2026 - 01:15 EUVD

DescriptionCVE.org

YesWiki before 4.7.0 contains a sql injection vulnerability in despam.php where the from parameter is escaped but placed in an unquoted INTERVAL position. Authenticated administrators can inject SQL via the from POST parameter to perform blind reads of the database including user password hashes.

Threat Intelligence Overview

EPSS Score
0.2%
Top 84% exploitable
Prevalence
Low
niche open-source French wiki, limited enterprise deployment footprint
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Medium

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
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