Pakiet NPM @evershop/evershop przed wersją 1.0.0-rc.8 zawiera hardkodowany sekret HMAC o wartości "secret", używany do generowania tokenów JWT. Atakujący może wykorzystać ten przewidywalny sekret do tworzenia własnych, prawidłowych tokenów JWT i uzyskania nieautoryzowanego dostępu do aplikacji.
▸ Pokaż oryginał (EN)
An issue was discovered in NPM's package @evershop/evershop before version 1.0.0-rc.8. The HMAC secret used for generating tokens is hardcoded as "secret". A weak HMAC secret poses a risk because attackers can use the predictable secret to create valid JSON Web Tokens (JWTs), allowing them access to important information and actions within the application.
Aplikacja używa stałej, wbudowanej na stałe w kod wartości "secret" jako klucza HMAC do podpisywania tokenów JWT. Ponieważ sekret jest jawnie znany i identyczny w każdej instalacji, atakujący bez żadnych uprawnień może samodzielnie wygenerować poprawnie podpisane tokeny JWT. Tokeny te zostaną zaakceptowane przez aplikację jako autentyczne, co pozwala atakującemu podszyć się pod dowolnego użytkownika lub uzyskać dostęp do chronionych zasobów i operacji.
Atakujący może uzyskać nieautoryzowany dostęp do poufnych informacji oraz wykonywać uprzywilejowane operacje w aplikacji poprzez fałszowanie prawidłowych tokenów JWT. Podatność zagraża zarówno poufności danych, jak i integralności systemu.
Należy zaktualizować pakiet @evershop/evershop do wersji 1.0.0-rc.8 lub nowszej, w której sekret HMAC nie jest już hardkodowany. Dodatkowo zaleca się unieważnienie wszystkich dotychczas wystawionych tokenów JWT oraz wymuszenie ponownego uwierzytelnienia użytkowników po aktualizacji.
Pakiet NPM @evershop/evershop w wersjach przed 1.0.0-rc.8
Podatność została odkryta i zgłoszona przez Checkmarx, co wynika z adresów URL referencji wskazujących na ich serwis doradczy.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NEvershop
APPEvershop1.0.0
Powiązane podatności
EverShop: token resetowania hasła ujawniany w odpowiedzi API
Second-order SQL injection w EverShop podczas obsługi kategorii
RCE i ujawnienie danych w EverShop NPM przez plik route.json
A Denial of Service (DoS) vulnerability in evershop 2.1.0 and prior allows unauthenticated attackers to exhaus...
EverShop 2.0.1 allows a remote unauthenticated attacker to upload arbitrary files and create directories via t...