criticalVulnerability

CVE-2026-52777

## Details ### Sink `tools/bazar/services/CSVManager.php` line 372-399: ``` public function importEntry(array $importedEntries, string $formId): ?array { if (!$this->importdone) { // ... foreach ($importedEntries as $entry) { $entry = unserialize(base64_decode($entry)); // <-- SINK $entry = array_map('strval', $entry); // ... ``` There is no `['allowed_classes' => false]` argument; arbitrary classes are instantiated. The subsequent `array_map('strval', $entry)` additionally exercises `__toString` on each top-level array element, doubling the magic-method surface available to a gadget chain. ### Source `tools/bazar/actions/BazarImportAction.php`: ``` // formatArguments() 'mode' => (isset($_POST['submit_file']) && !empty($_FILES['fileimport']['name'])) ? 'submitfile' : (isset($_POST['importfiche']) ? 'importentries' : 'default'), 'importentries' => $_POST['importfiche'] ?? null, // run() case 'importentries': // ... $importedEntries = $this->CSVManager->importEntry($this->arguments['importentries'], $vID['id']); break; ``` `$_POST['importfiche']` flows directly to the sink. The `mode` switches to `'importentries'` whenever the request body contains the key, so an attacker need only POST `importfiche[0]=<payload>`. ### Reachability 1. The action is registered as `bazarimport`. The default `BazaR` page (`setup/sql/default-content.sql` -> `BazaR` page entry, ships with `{{bazar showexportbuttons="1"}}`) routes `?BazaR&vue=importer&id_typeannonce=<N>` to `BazarAction::run()` -> `case VOIR_IMPORTER -> callAction('bazarimport', ...)` (`tools/bazar/actions/BazarAction.php:257-258`). So the sink is reachable on a default install with no extra page authoring. 2. `BazarImportAction::run()` calls `$this->checkSecuredACL()` with the default `$adminOnly=true`. Only wiki admins (or accounts the admin has added to the `bazarimport` action ACL) can execute it. 3. The `importentries` branch does NOT

Properties

ghsa_id
GHSA-9369-69wj-7m2f
severity
critical
summary
YesWiki Vulnerable to Authenticated PHP Object Injection in BazarImportAction via unserialize
cve_id
CVE-2026-52777
is_ghsa_only
false
ghsa_published
2026-07-09T21:02:58Z
source_url
https://github.com/advisories/GHSA-9369-69wj-7m2f
ghsa_updated
2026-07-09T21:02:59Z

Related Entities (5)

VULNERABLE_TO (1)

[Software]composer/yeswiki/yeswiki

AFFECTS (1)

[Software]composer/yeswiki/yeswiki

HAS_WEAKNESS (2)

[Weakness]Cross-Site Request Forgery (CSRF)
[Weakness]Deserialization of Untrusted Data

REPORTED_BY (1)

[Source]GitHub Advisory Database

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-52777 — Ninja Signal Threat Intelligence | Ninja Signal