mediumCVSS 6.1Vulnerability

CVE-2026-52773

### Summary YesWiki's archived-revision view reflects the `time` `GET` parameter into a hidden HTML input in `handlers/page/show.php` without escaping. Because MySQL coerces malformed `DATETIME` strings, an attacker can append HTML or JavaScript to a valid archived revision timestamp, still load that archived revision, and execute arbitrary JavaScript in the victim's browser. The vulnerable form is only rendered when the victim can both read and edit the target page. In restricted deployments this requires a victim with `read` and `write` access to that page. On a default `doryphore 4.6.5` install, public pages such as `PagePrincipale` were editable anonymously during validation, so the issue can also affect unauthenticated visitors in that configuration. ### Details The request routing path uses the user-controlled `time` parameter to load a specific page revision. In `includes/YesWiki.php` around `Run()` line `1223`, the request is routed through: ```php $this->SetPage($this->LoadPage($tag, isset($_REQUEST['time']) ? $_REQUEST['time'] : '')); ``` `LoadPage()` delegates to `PageManager::getOne()` in `includes/services/PageManager.php` around line `75`, which builds a SQL predicate directly from the supplied revision time: ```php $timeQuery = $time ? "time = '{$this->dbService->escape($time)}'" : "latest = 'Y'"; ``` If the loaded page is an archived revision (`latest == 'N'`) and the current user has `write` access, `handlers/page/show.php` around lines `43-49` renders an edit form for that archived revision and copies `$_GET['time']` into a hidden input without `htmlspecialchars()`: ```php $time = isset($_GET['time']) ? $_GET['time'] : ''; echo $this->FormOpen(testUrlInIframe() ? 'editiframe' : 'edit', '', 'get'); <input type="hidden" name="time" value="<?php echo $time; ?>" /> ``` That sink is reachable only when all of the following are true: 1. The target page has at least one archived revision. 2. The victim can `read` the target page. 3. The victim ca

Properties

ghsa_id
GHSA-35f3-pg38-486f
severity
medium
summary
YesWiki Vulnerable to Reflected XSS via Unescaped Archived-Revision `time` Parameter in `handlers/page/show.php`
cvss_score
6.1
cve_id
CVE-2026-52773
cvss_vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
is_ghsa_only
false
ghsa_published
2026-07-09T21:00:55Z
source_url
https://github.com/advisories/GHSA-35f3-pg38-486f
ghsa_updated
2026-07-09T21:00:57Z

Related Entities (4)

VULNERABLE_TO (1)

[Software]composer/yeswiki/yeswiki

AFFECTS (1)

[Software]composer/yeswiki/yeswiki

HAS_WEAKNESS (1)

[Weakness]Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS)

REPORTED_BY (1)

[Source]GitHub Advisory Database

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-52773 (CVSS 6.1) — Ninja Signal Threat Intelligence | Ninja Signal