CVE-2026-52769
nicheUnauthenticated SSRF in YesWiki via HTTP Signature keyId URL (fixed in 4.6.6)
YesWiki versions 4.6.2 up to (but not including) 4.6.6 contain an unauthenticated server-side request forgery (CWE-918) in the POST /api/forms/{formId}/actor/inbox route, which is exposed publicly once ActivityPub is enabled on at least one Bazar form. When handling a request, HttpSignatureService::verifySignature() parses the HTTP Signature header and immediately issues a server-side HTTP GET to the URL supplied in the keyId parameter, before any cryptographic verification or URL validation takes place. An unauthenticated remote attacker can therefore force the YesWiki server to send arbitrary HTTP requests to any host it can reach — internal services, intranet-only admin panels, or the cloud metadata endpoint at 169.254.169.254 — and infer responses through timing and error-message oracles to port-scan, enumerate services, and potentially reach IAM metadata on cloud-hosted instances; CVSS 3.1 rates this 8.3 (high) with changed scope, reflecting reach into other systems. Any deployment running an affected version with ActivityPub enabled on a Bazar form is exposed, and the issue is fixed in version 4.6.6. No public proof-of-concept or in-the-wild exploitation is currently known (EPSS 0.3%, not in CISA KEV).
What to do: Upgrade to YesWiki 4.6.6 or later; deployments that cannot upgrade should disable ActivityPub on Bazar forms or restrict access to the /api/forms/{formId}/actor/inbox route at the reverse proxy. As defense in depth, apply egress filtering from the web host to link-local/cloud metadata addresses (169.254.169.254) and internal networks, and review logs for unexplained outbound HTTP GETs issued around the time of POSTs to the actor inbox endpoint.
| YesWiki | 4.6.2 up to but not including 4.6.6 (fixed in 4.6.6) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
YesWiki is a wiki system written in PHP. From version 4.6.2 to before version 4.6.6, the POST /api/forms/{formId}/actor/inbox route - exposed publicly with acl:"public" - accepts an HTTP Signature header whose keyId parameter is a URL. HttpSignatureService::verifySignature() parses the header and immediately makes a server-side HTTP GET to that URL, before any cryptographic verification or URL validation. An unauthenticated remote attacker can therefore make YesWiki issue arbitrary outbound HTTP requests to any host the server can reach - internal services, cloud-metadata endpoints (169.254.169.254), intranet-only admin panels, etc. - and read enough back via timing and error-message oracles to scan ports, enumerate services, and (on a real cloud instance) reach IAM metadata. The only deployment-side precondition is that ActivityPub be enabled on at least one Bazar form. This issue has been patched in version 4.6.6.
- Weakness
- CWE-918
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L
In the news0 stories
No ingested article mentions this CVE yet.