ZeroHour

CVE-2026-52767

niche

HTTP Signature Verification Bypass in YesWiki

CVSS 3.1
8.2 high
EPSS
<1%p12
Published
()
Modified
AI analysis

YesWiki versions 4.6.2 through before 4.6.6 contain a cryptographic signature verification bypass (CWE-347) in HttpSignatureService::verifySignature(). The code checks PHP's openssl_verify() return value with a loose boolean test, so a return of -1 — which OpenSSL's EVP_VerifyFinal() can produce on a failed verification — is treated as truthy, the error is never thrown, and the controller proceeds to process the payload. An unauthenticated network attacker who triggers that -1 condition can submit requests with invalid HTTP signatures that YesWiki silently accepts as verified, spoofing a legitimate signed sender and getting attacker-controlled payloads processed. Any YesWiki instance running an affected version and using the HTTP signature feature is exposed, with high integrity impact and limited availability impact per the CVSS score of 8.2. No public proof-of-concept or in-the-wild exploitation is currently known, and EPSS estimates a 0.2% probability of exploitation within 30 days.

What to do: Upgrade YesWiki to version 4.6.6 or later, which corrects the openssl_verify() result handling. If upgrading is not immediately possible, restrict access to endpoints that accept HTTP-signed activity payloads (e.g., via network filtering or allowlisting trusted senders) and monitor for unexpected processed activity submissions. Verify deployed version by checking the instance's release/version information before and after remediation.

Affected
YesWiki>= 4.6.2 and < 4.6.6 (fixed in 4.6.6)
Estimated exposure
nichelikely low thousands of self-hosted instances worldwide (estimate; no public install counts available), and only those using the HTTP signature feature — YesWiki is a niche self-hosted open-source PHP wiki used mainly in French-speaking non-profit, education, and community deployments with no public install-base telemetry, and only deployments running 4.6.2+ and processing HTTP-signed…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

YesWiki is a wiki system written in PHP. From version 4.6.2 to before version 4.6.6, HttpSignatureService::verifySignature() checks the result of PHP's openssl_verify() with a loose boolean negation - if (!openssl_verify(...)) { throw ... }. PHP's openssl_verify has four possible return values: 1, 0, -1, and "false". The -1 row is the bypass: PHP's truthiness rules make -1 a truthy value, so !(-1) === false, the throw is skipped, and the controller proceeds to processActivity(). Any condition that makes OpenSSL's EVP_VerifyFinal() return -1 triggers the bypass. The reachable consequence is the controller silently treats a failed verification as success and processes the attacker's payload. This issue has been patched in version 4.6.6.

Weakness
CWE-347
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L

In the news

No ingested article mentions this CVE yet.