GHSA-mv28-wj57-f57g: YesWiki Vulnerable to Unauthenticated ActivityPub Signature-Verification Bypass via `!openssl_verify(...)` accepting `int(-1)`
YesWiki versions 4.6.2 through 4.6.5 contain a vulnerability in the HttpSignatureService::verifySignature() method where the result of PHP's openssl_verify() is checked using a loose boolean negation. Because openssl_verify() can return -1 on certain errors (such as using a DSA public key with an RSA algorithm), which evaluates as truthy in PHP, the signature verification failure is bypassed. This allows unauthenticated attackers to send malicious ActivityPub requests that are processed as valid, enabling unauthorized Create, Update, or Delete operations.
AI Analysis
Technical Summary
The vulnerability arises from improper handling of the openssl_verify() return value in YesWiki's HttpSignatureService::verifySignature() method. The code uses if (!openssl_verify(...)) to detect signature verification failure. However, openssl_verify() can return four values: 1 (valid), 0 (invalid), -1 (internal error), and false (argument validation failure). The check incorrectly treats -1 as a successful verification due to PHP's truthiness rules, skipping the exception throw. An attacker can exploit this by providing a DSA public key with an RSA-SHA256 algorithm, causing openssl_verify() to return -1 and bypass signature verification. The attacker can then send unauthenticated POST requests to the actor inbox endpoint, which YesWiki processes, allowing unauthorized state mutations. This affects YesWiki versions >=4.6.2 and <4.6.6.
Potential Impact
The vulnerability allows unauthenticated attackers to bypass signature verification and submit malicious ActivityPub requests to YesWiki's actor inbox endpoint. This can lead to unauthorized creation, update, or deletion of entries within the application, compromising data integrity. There is no requirement for a valid session or CSRF token, making exploitation straightforward once the attacker controls an actor document with a crafted public key. The digest header is enforced but easily satisfied by the attacker. The impact is high due to the ability to perform unauthorized state changes without authentication.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, users should consider mitigating by avoiding use of PHP 8.3 with OpenSSL 3.x in affected YesWiki versions or by implementing stricter signature verification logic that correctly handles the -1 return value from openssl_verify(). Specifically, the code should explicitly check for the -1 return and treat it as a verification failure. Monitor vendor channels for an official patch and apply it promptly once released.
GHSA-mv28-wj57-f57g: YesWiki Vulnerable to Unauthenticated ActivityPub Signature-Verification Bypass via `!openssl_verify(...)` accepting `int(-1)`
Description
YesWiki versions 4.6.2 through 4.6.5 contain a vulnerability in the HttpSignatureService::verifySignature() method where the result of PHP's openssl_verify() is checked using a loose boolean negation. Because openssl_verify() can return -1 on certain errors (such as using a DSA public key with an RSA algorithm), which evaluates as truthy in PHP, the signature verification failure is bypassed. This allows unauthenticated attackers to send malicious ActivityPub requests that are processed as valid, enabling unauthorized Create, Update, or Delete operations.
CVSS v3.1
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability arises from improper handling of the openssl_verify() return value in YesWiki's HttpSignatureService::verifySignature() method. The code uses if (!openssl_verify(...)) to detect signature verification failure. However, openssl_verify() can return four values: 1 (valid), 0 (invalid), -1 (internal error), and false (argument validation failure). The check incorrectly treats -1 as a successful verification due to PHP's truthiness rules, skipping the exception throw. An attacker can exploit this by providing a DSA public key with an RSA-SHA256 algorithm, causing openssl_verify() to return -1 and bypass signature verification. The attacker can then send unauthenticated POST requests to the actor inbox endpoint, which YesWiki processes, allowing unauthorized state mutations. This affects YesWiki versions >=4.6.2 and <4.6.6.
Potential Impact
The vulnerability allows unauthenticated attackers to bypass signature verification and submit malicious ActivityPub requests to YesWiki's actor inbox endpoint. This can lead to unauthorized creation, update, or deletion of entries within the application, compromising data integrity. There is no requirement for a valid session or CSRF token, making exploitation straightforward once the attacker controls an actor document with a crafted public key. The digest header is enforced but easily satisfied by the attacker. The impact is high due to the ability to perform unauthorized state changes without authentication.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, users should consider mitigating by avoiding use of PHP 8.3 with OpenSSL 3.x in affected YesWiki versions or by implementing stricter signature verification logic that correctly handles the -1 return value from openssl_verify(). Specifically, the code should explicitly check for the -1 return and treat it as a verification failure. Monitor vendor channels for an official patch and apply it promptly once released.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-mv28-wj57-f57g
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-52767"]
- Ecosystems
- ["Packagist"]
- Database Specific Severity
- HIGH
- Cvss Version
- 3.1
Threat ID: 6a50ba7468715ace43580349
Added to database: 07/10/2026, 09:25:08 UTC
Last enriched: 07/10/2026, 09:56:13 UTC
Last updated: 07/10/2026, 09:56:13 UTC
Views: 2
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.