Mend.io Vulnerability Database
The largest open source vulnerability database
What is a Vulnerability ID?
New vulnerability? Tell us about it!
CVE-2026-52767
Published:July 09, 2026
Updated:August 27, 2026
"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: | return | meaning | "!return" | | ------ | ------------------------------------------------ | --------- | | "1" | signature is valid | "false" | | "0" | signature is invalid | "true" ✓ | | "-1" | the verify call itself failed (internal error) | "false" ❌ | | "false"| input rejected by PHP's argument validation | "true" ✓ | 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 two practical paths to "-1" we are aware of: 1. DSA / EC public key with an RSA-only algorithm. "openssl_verify(..., $dsaKey, "RSA-SHA256")" returns "int(-1)" on PHP 8.3 + OpenSSL 3.x. This is the path the PoC uses; it works against an unmodified "php:8.3-apache" lab and against any deployment using the runtime stack YesWiki's own docker image ships. 2. Older PHP + older OpenSSL where any unrecognised digest name returned "-1" rather than "false". The reporting research mentions this path; on current stacks "false" is returned instead and the throw fires correctly. The DSA path replaces it. The reachable consequence is the same in both cases - the controller silently treats a failed verification as success and processes the attacker's payload.
Affected Packages
https://github.com/YesWiki/yeswiki.git (GITHUB):
Affected version(s) >=v4.6.2 <v4.6.6
Fix Suggestion:
Update to version v4.6.6
yeswiki/yeswiki (PHP):
Affected version(s) >=v4.6.2 <v4.6.6
Fix Suggestion:
Update to version v4.6.6
Do you need more information?
Contact Us
CVSS v4
Base Score:
8.8
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
NONE
User Interaction
NONE
Vulnerable System Confidentiality
NONE
Vulnerable System Integrity
HIGH
Vulnerable System Availability
LOW
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
8.2
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
HIGH
Availability
LOW
Weakness Type (CWE)
Improper Verification of Cryptographic Signature