Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCapture valid signed inbox request from logs
-
DeliveryReplay identical POST to public inbox endpoint
-
ExploitverifySignature() passes, no Date freshness or nonce check
-
ExecutionActivityPub Delete/Update/Follow/Undo re-executes
-
ImpactEntry deleted or content reverted to stale state
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Replay attack prevention
|
| Exploitation Conditions | Requires the attacker to first obtain a previously valid, signed HTTP Signature request addressed to the /api/forms/{formId}/actor/inbox endpoint - the advisory names reverse-proxy logs, WAF/IDS logs, application debug logging, or shared-hosting co-tenancy (readable PHP error logs) as capture sources. The target YesWiki instance (4.6.2 up to the fix) must have ActivityPub federation active and the inbox endpoint is public (ACL 'public', no authentication), and the original signer's public key must still be published at its keyId URL (effectively unlimited, since ActivityPub keys persist). Limiting factors: the attacker cannot forge new, attacker-chosen actions - only replay captured ones (Delete, Update, Follow, Undo) - so impact is bounded by what was captured; the dependence on log/co-tenancy access to obtain a signed request is what drives AC:H/AT:P and the low EPSS despite the network vector. |
| Impact | Signals are mixed and point to a real-but-gated issue rather than a drop-everything emergency. The CVSS 4.0 base score is 8.3 (High) driven by VI:H (full integrity impact within the scope of captured actions) and AV:N, but the same vector carries AC:H and AT:P, meaning successful exploitation depends on conditions outside the attacker's direct control - chiefly obtaining a previously valid signed request. EPSS is low at 0.22% (13th percentile), consistent with the practical prerequisite of capturing a legitimate signed inbox request from reverse-proxy, WAF/IDS, or debug logs or via shared-hosting co-tenancy. The vuln.today decision label is this_week (not act_now/emergency), and the CVE is NOT on CISA KEV, so there is no confirmed active exploitation. A detailed public PoC reference exists in the GHSA advisory (capture-and-replay steps), but the input does not mark it as confirmed working exploit code. Net: high technical integrity/availability impact within the replayable action set, but real-world likelihood is moderated by the log/co-tenancy capture precondition and absence of KEV/high EPSS - treat as a prompt (this-week) patch, not an immediate incident. One data conflict must be verified: the metadata/EUVD state the issue is fixed in 4.7.0 and a patch is available, while the GHSA advisory body states 'Fix status: not fixed' with a confirmed affected range through 4.6.7 - confirm the fixed version with the vendor before relying on it. |
| Exploit ScenarioDerived | An attacker with read access to server-side request logs (reverse proxy, WAF/IDS, application debug output) or shared-hosting co-tenancy captures a legitimate signed ActivityPub request - for example a Delete - sent to the public /api/forms/{formId}/actor/inbox endpoint. Because verifySignature() never checks the Date header or tracks seen signatures, the attacker replays the identical request days, weeks, or months later and the action re-executes (e.g. re-deleting an entry that was recreated). A step-by-step public PoC reference exists in the GHSA advisory, though it is not marked as confirmed working exploit code in the input. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Replay of previously signed ActivityPub requests against YesWiki's public /api/forms/{formId}/actor/inbox endpoint lets an attacker re-execute captured Delete, Update, Follow or Undo actions at any later time, because HttpSignatureService::verifySignature() never validates the Date header and keeps no record of seen signatures. YesWiki from 4.6.2 through 4.6.7 is affected, and the 5.0.0-alpha1 prerelease also lacks the guard; the vendor fix is 4.7.0. Exploitation is gated by the need to first obtain a valid signed request (reverse-proxy logs, WAF/IDS logs, application debug output or shared-hosting co-tenancy), which is consistent with the low EPSS score of 0.22% (13th percentile) and the absence of a CISA KEV listing; a public PoC reference exists but it is not verified as working exploit code, and the attacker cannot forge new actions - only replay captured ones.
RemediationAI
Vendor-released patch: YesWiki 4.7.0 fixes CVE-2026-116825 - upgrade any instance running 4.6.2 through 4.6.7 (and the 5.0.0-alpha1 prerelease) to 4.7.0, following the advisory at https://github.com/YesWiki/yeswiki/security/advisories/GHSA-7m9j-h553-397x. The advisory states that no interim mitigation is available without a code change, since the missing control lives inside HttpSignatureService::verifySignature(); the code-level fix it recommends is parsing the Date header and rejecting requests outside a configurable freshness window of 30 seconds to 5 minutes after signature verification succeeds, with defense-in-depth from requiring digest among the signed headers and from activity-ID deduplication with a TTL. Where an immediate upgrade is not possible, the practical exposure reduction is to cut off the capture vectors the advisory identifies for obtaining a signed request - reverse-proxy logs, WAF/IDS logs, application debug output and shared-hosting PHP error logs that record Signature, Date, Digest and Content-Type headers - with the trade-off that this reduces forensic visibility into the inbox traffic. Note also that the replayed action re-executes only if the original signer's public key is still published at its keyId URL, so letting federation keys rotate or be re-published limits the replay window.
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
The flaw is CWE-294 (Authentication Bypass by Capture-replay) in YesWiki's ActivityPub federation implementation, specifically HttpSignatureService::verifySignature() in tools/bazar/services/HttpSignatureService.php (lines 96-157). That function performs four checks - presence of the Signature header, completeness of the signature fields, cryptographic verification through openssl_verify (line 148) and body Digest matching (line 152) - but the Date header, although included in the signed-data reconstruction at line 144, is never compared against the current server time; the class contains no temporal comparison, nonce store or seen-signature deduplication. Because ActivityPub actor keys are generated once and remain published at their keyId URL indefinitely, a captured request stays cryptographically valid forever and the receiving inbox re-processes it as if freshly sent; the assertOwns() ownership checks added by GHSA-rm6r-grfg-4v78 verify who signed, not when, so a replayed request from the legitimate actor passes them. The HTTP Signatures draft (draft-cavage-http-signatures-12, section 2.1.4) explicitly recommends that a receiver verify the Date header is not too far in the past, and Mastodon enforces a 12-hour window, whereas YesWiki's own generateSignature() emits a Date header (line 46) while its verifier never checks it. Prior advisories GHSA-mv28-wj57-f57g (openssl_verify return-value handling) and GHSA-rm6r-grfg-4v78 (cross-actor authorization) do not address temporal validation, and the advisory states no interim mitigation exists without a code change because the defect is in the verification logic itself; the suggested fix is a configurable Date freshness window (30 seconds to 5 minutes), optionally requiring digest among the signed headers and deduplicating activity IDs with a TTL.
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:H/AT:P/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N
Replay needs no authentication (PR:N) against the public inbox, but depends on first capturing a valid signed request (AC:H); impact is integrity (I:H) with partial availability from deletions and no confidentiality (C:N).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
YesWiki from 4.6.2 before 4.7.0 lacks replay protection in HttpSignatureService::verifySignature(), which never validates the Date header or tracks seen signatures. Attackers who capture a signed request to the /api/forms/{formId}/actor/inbox endpoint can replay it later to re-execute Delete, Update, Follow, or Undo actions.
Executive ViewAI
YesWiki versions 4.6.2 through 4.6.7 and 5.0.0-alpha1 are vulnerable to replay attacks on signed ActivityPub requests, allowing captured Delete, Update, Follow, or Undo actions to be re-executed. While exploitation requires prior access to valid signed requests and carries low likelihood (EPSS 0.2%), a successful replay could corrupt federated content integrity and disrupt trust in the platform. Leadership should authorize immediate patching to eliminate this threat.
Apply vendor patch.
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
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-110532
GHSA-r76f-83xj-prp9
NVD
CVE.org
EPSS
VulDB
Exploit-DB