Advisory Database
  • Advisories
  • Dependency Scanning
  1. composer
  2. ›
  3. yeswiki/yeswiki
  4. ›
  5. CVE-2026-52767

CVE-2026-52767: YesWiki Vulnerable to Unauthenticated ActivityPub Signature-Verification Bypass via `!openssl_verify(...)` accepting `int(-1)`

July 9, 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:

returnmeaning!return
1signature is validfalse
0signature is invalidtrue ✓
-1the verify call itself failed (internal error)false ❌
falseinput rejected by PHP’s argument validationtrue ✓

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.

References

  • github.com/YesWiki/yeswiki/commit/d1795e0301e1a1078f17b4b98f56fff70de2029e
  • github.com/YesWiki/yeswiki/security/advisories/GHSA-mv28-wj57-f57g
  • github.com/advisories/GHSA-mv28-wj57-f57g
  • nvd.nist.gov/vuln/detail/CVE-2026-52767

Code Behaviors & Features

Detect and mitigate CVE-2026-52767 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions starting from 4.6.2 before 4.6.6

Fixed versions

  • 4.6.6

Solution

Upgrade to version 4.6.6 or above.

Impact 8.2 HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L

Learn more about CVSS

Weakness

  • CWE-347: Improper Verification of Cryptographic Signature

Source file

packagist/yeswiki/yeswiki/CVE-2026-52767.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Tue, 11 Aug 2026 00:17:44 +0000.