Katalog CVE

CVE-2026-92915

WysokieCVSS 7.3
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.31%

Percentyl 24 - wyżej niż 24% wszystkich znanych CVE

Streszczenie

WWBN AVideo do commita e01e41ecc zawiera błąd kontroli dostępu w objects/userVerifyEmail.php. Skrypt wyłącza wymóg logowania, pobiera users_id bezpośrednio z query stringa i wywołuje User::sendVerificationLink() bez sesji, tokenu CSRF, sprawdzenia relacji czy limitu szybkości, co pozwala nieuwierzytelnionemu atakującemu wysyłać dowolną liczbę e-maili weryfikacyjnych, enumerować konta i zapisywać tokeny odzyskiwania hasła na kontach ofiar.

Ocena ryzyka

Nieuwierzytelniony atakujący może spamować skrzynki pocztowe, enumerować konta i ich status weryfikacji oraz umieszczać aktywne tokeny odzyskiwania hasła na kontach ofiar, co może prowadzić do przejęcia konta. Brak dostępnej wersji z poprawką zwiększa ryzyko.

Rekomendacja

Brak dostępnej wersji z poprawką — rozważ wyłączenie lub ograniczenie dostępu do objects/userVerifyEmail.php oraz objects/userRecoverPassSave.json.php na poziomie serwera WWW. Monitoruj logi pod kątem nietypowych żądań weryfikacyjnych i wdroż własne limity szybkości.

Inne podatności w WWBN AVideo

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

WWBN AVideo through commit e01e41ecc (no patched version available) contains a broken access control flaw in objects/userVerifyEmail.php. The script disables the login requirement ($global['ignoreUserMustBeLoggedIn'] = 1), takes users_id directly from the query string, and calls User::sendVerificationLink() with no session requirement, no CSRF/global token, no relationship check between caller and target, and no enforceRateLimit() call. The only intended throttle is keyed to the caller's own session, so cookie-less requests are never limited. An unauthenticated remote attacker can therefore cause an arbitrary number of verification emails to be sent to any account ID, and can enumerate accounts and their verification status from the three distinct JSON responses ("Verification Sent", "Already verified", "Unknown error"). In addition, createVerificationCode() invokes $user->setRecoverPass() and saves the user, so each anonymous request writes a live password-recovery token onto the targeted account; that token is embedded in base64 in the verification link emailed to the account owner and is accepted by objects/userRecoverPassSave.json.php as the credential for setting a new password.

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