Podatność w Discuz! X5.0 umożliwia nieuwierzytelnionemu atakującemu zdalne ominięcie mechanizmu autoryzacji i uzyskanie dostępu do funkcji tworzenia i przywracania kopii zapasowych bazy danych. Luka jest oceniana jako krytyczna (CVSS 9.3) i nie wymaga żadnych uprawnień ani interakcji użytkownika.
▸ Pokaż oryginał (EN)
Discuz! X5.0 releases 20260320 through 20260501 contains an authentication bypass vulnerability that allows unauthenticated remote attackers to gain unauthorized access to database backup and restore functionality by exploiting a shared cryptographic key between UCenter integration and the database backup API exposed by dbbak.php. Attackers can inject a crafted payload through the username parameter during login to abuse the encryption oracle in logging_ctl::logging_more(), obtain a legitimately signed token, and use it to bypass authorization for database export and import operations, with the additional ability to trigger a race condition to impersonate arbitrary users.
Discuz! X5.0 współdzieli klucz kryptograficzny pomiędzy integracją UCenter a API kopii zapasowych bazy danych udostępnionym przez plik dbbak.php. Atakujący wstrzykuje spreparowany payload poprzez parametr username podczas logowania, nadużywając tzw. encryption oracle w metodzie logging_ctl::logging_more(), co pozwala uzyskać legalnie podpisany token. Następnie token ten jest wykorzystywany do ominięcia autoryzacji przy operacjach eksportu i importu bazy danych. Dodatkowo podatność umożliwia wywołanie race condition w celu podszycia się pod dowolnego użytkownika systemu.
Atakujący może uzyskać nieautoryzowany dostęp do pełnych kopii zapasowych bazy danych (potencjalnie zawierających dane użytkowników, hasła i dane wrażliwe) oraz przywrócić lub nadpisać bazę danych, a także podszywać się pod dowolnego użytkownika systemu.
Należy zastosować patch dostępny w repozytorium producenta (commit 9962dad52c4c6999dabaf91ecd70377c680ff3c6 w repozytorium Gitee). Zalecana jest natychmiastowa aktualizacja do wersji wydanej po 20260501. Do czasu wdrożenia patcha należy rozważyć ograniczenie dostępu sieciowego do pliku dbbak.php na poziomie firewall lub serwera WWW.
Discuz! X5.0 w wersjach wydanych od 20260320 do 20260501 (releases 20260320 through 20260501)
Według publicznie dostępnych referencji (karmainsecurity.com) podatność może być łączona z innymi błędami w celu osiągnięcia RCE (Remote Code Execution) — szczegóły opisano w artykule 'chaining-bugs-in-discuz-from-race-condition-to-rce'. CVE sklasyfikowane jako CWE-323 (Reusing a Nonce, Key Pair in Encryption). Pełne ujawnienie opublikowane zostało na liście Full Disclosure w czerwcu 2026.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X