Pakiet NPM @perfood/couch-auth w wersjach <= 0.20.0 jest podatny na host header injection w mechanizmie resetowania hasła. Atakujący może przejąć token resetowania hasła i przejąć konto dowolnego użytkownika.
▸ Pokaż oryginał (EN)
A host header injection vulnerability exists in the NPM package @perfood/couch-auth versions <= 0.20.0. By sending a specially crafted host header in the forgot password request, it is possible to send password reset links to users which, once clicked, lead to an attacker-controlled server and thus leak the password reset token. This may allow an attacker to reset other users' passwords and take over their accounts.
Atakujący wysyła żądanie resetowania hasła z odpowiednio spreparowanym nagłówkiem Host, wskazującym na serwer pod jego kontrolą. Aplikacja używa wartości z nagłówka Host do generowania linku resetowania hasła wysyłanego do użytkownika. Po kliknięciu w taki link ofiara nieświadomie wysyła token resetowania hasła na serwer atakującego, który może go następnie wykorzystać do ustawienia nowego hasła i przejęcia konta.
Atakujący może uzyskać pełną kontrolę nad kontami innych użytkowników poprzez przechwycenie tokenów resetowania haseł i wykonanie nieautoryzowanej zmiany hasła.
Należy zaktualizować pakiet @perfood/couch-auth do wersji wyższej niż 0.20.0. Należy zastosować patche dostępne u producenta zgodnie z referencjami. Dodatkowo zaleca się weryfikację i sanityzację nagłówka Host po stronie serwera przed jego użyciem do generowania jakichkolwiek linków.
Pakiet NPM @perfood/couch-auth (couch-auth) w wersjach <= 0.20.0
Podatność została udokumentowana przez badacza w repozytorium dub-flow/vulnerability-research na platformie GitHub.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:HPerfood Couchauth
APPPerfood≤ 0.20.0