CRITICAL🇬🇧 English

CVE-2026-12416

Przejęcie konta przez reset hasła w pluginie Invoice Generator dla WordPress

CVSS 9.8v3.1pub. 2026-06-24upd. 2026-06-25

Plugin Invoice Generator dla WordPress w wersjach do 1.0.0 włącznie zawiera krytyczną podatność umożliwiającą nieuwierzytelnionemu atakującemu przejęcie dowolnego konta, w tym kont administratorów. Dziura wynika z braku weryfikacji nonce i uprawnień w funkcji obsługującej reset hasła.

Pokaż oryginał (EN)

The Invoice Generator plugin for WordPress is vulnerable to Account Takeover via Password Reset in all versions up to, and including, 1.0.0. This is due to the `pravel_invoice_change_password()` function being registered as a nopriv AJAX handler with no nonce verification and no authorization check, and performing a loose equality comparison between the supplied `reset_activation_code` POST parameter and the target user's stored `forgot_email` user meta — a check that trivially evaluates to true (`'' == ''`) for any user who has never initiated a forgot-password request, which applies to administrators under normal conditions. This makes it possible for unauthenticated attackers to supply an arbitrary user ID via the `reset_user_id` POST parameter, bypass the activation code check entirely by omitting `reset_activation_code`, and set the target account's password to an attacker-chosen value, enabling full takeover of any account on the site, including administrator accounts.

🤖 Analiza AI
Jak działa

Funkcja `pravel_invoice_change_password()` jest zarejestrowana jako handler AJAX dostępny bez uwierzytelnienia (nopriv), nie weryfikuje tokenu nonce ani uprawnień wywołującego. Kod porównuje wartość parametru `reset_activation_code` z polem `forgot_email` zapisanym w metadanych użytkownika za pomocą luźnego porównania (loose equality), co powoduje, że porównanie `'' == ''` daje wynik prawdziwy dla każdego użytkownika, który nigdy nie inicjował procedury resetowania hasła — w praktyce dotyczy to kont administratorów w normalnych warunkach. Atakujący może wskazać dowolny identyfikator użytkownika przez parametr POST `reset_user_id`, pominąć parametr `reset_activation_code` (co sprawia, że weryfikacja kodu trywialnie przechodzi) i ustawić nowe, wybrane przez siebie hasło dla wskazanego konta.

Skutki

Nieuwierzytelniony atakujący może przejąć pełną kontrolę nad dowolnym kontem w serwisie WordPress, włącznie z kontami administratorów, co skutkuje całkowitą kompromitacją witryny (utrata poufności, integralności i dostępności).

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami. Do czasu aktualizacji zaleca się dezaktywację i usunięcie pluginu Invoice Generator ze wszystkich instalacji WordPress.

Kogo dotyczy

Plugin Invoice Generator dla WordPress we wszystkich wersjach do 1.0.0 włącznie.

Uwagi

Podatność jest szczególnie niebezpieczna, ponieważ konta administratorów w typowej konfiguracji WordPress nigdy nie inicjują procesu resetowania hasła przez mechanizm pluginu, co czyni je domyślnie podatnymi na przejęcie bez żadnych warunków wstępnych.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Auth Bypass
CWE
Referencje