Katalog CVE

CVE-2026-52767

WysokieCVSS 8.2
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

YesWiki od wersji 4.6.2 do przed 4.6.6 zawiera podatność w HttpSignatureService::verifySignature(), która sprawdza wynik funkcji openssl_verify() za pomocą luźnej negacji boolowskiej. Ponieważ PHP traktuje -1 jako prawdę, warunek !(-1) jest fałszywy, co powoduje pominięcie błędu i kontynuację przetwarzania, nawet gdy weryfikacja podpisu nie powiodła się.

Ocena ryzyka

Atakujący może obejść weryfikację podpisu i wysłać nieautoryzowane żądania, które zostaną przetworzone jako poprawne, co może prowadzić do nieautoryzowanych działań w systemie.

Rekomendacja

Zaleca się aktualizację do wersji 4.6.6 oraz poprawienie logiki weryfikacji, aby jawnie sprawdzać wartość 1.

Inne podatności w YesWiki

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS