Biblioteka NPM url-parse w wersjach przed 1.5.9 zawiera krytyczną podatność typu Authorization Bypass Through User-Controlled Key (CWE-639), umożliwiającą obejście mechanizmów autoryzacji. Ocena CVSS 9.8 wskazuje na bardzo wysokie ryzyko, gdyż atak nie wymaga uwierzytelnienia ani interakcji ze strony użytkownika.
▸ Pokaż oryginał (EN)
Authorization Bypass Through User-Controlled Key in NPM url-parse prior to 1.5.9.
Podatność polega na tym, że biblioteka url-parse przetwarza klucze URL w sposób, który pozwala atakującemu na manipulację wartościami kontrolowanymi przez użytkownika w celu ominięcia logiki autoryzacji aplikacji. Spreparowane wejście URL może prowadzić do tego, że aplikacja korzystająca z biblioteki błędnie zinterpretuje komponent adresu URL i zastosuje niewłaściwe reguły dostępu. Wektor ataku jest sieciowy, a złożoność ataku niska, co oznacza że exploit jest stosunkowo prosty do przeprowadzenia zdalnie.
Atakujący może obejść mechanizmy autoryzacji aplikacji korzystającej z biblioteki url-parse, uzyskując nieautoryzowany dostęp do zasobów lub funkcji chronionych — skutkuje to potencjalnym naruszeniem poufności, integralności i dostępności danych (wszystkie trzy ocenione jako HIGH w CVSS).
Należy zaktualizować pakiet url-parse do wersji 1.5.9 lub nowszej, w której podatność została naprawiona (commit 0e3fb542d60ddbf6933f22eb9b1e06e25eaa5b63). Aktualizacji można dokonać poleceniem: npm update url-parse lub npm install url-parse@latest. Zaleca się również audyt aplikacji pod kątem logiki autoryzacji opartej na parsowaniu URL.
Pakiet NPM url-parse (projekt Url-Parse Project) w wersjach wcześniejszych niż 1.5.9. Dotyczy wszystkich aplikacji Node.js oraz środowisk JavaScript korzystających z tej biblioteki do parsowania adresów URL.
Podatność zgłoszona i udokumentowana za pośrednictwem platformy huntr.dev (program bug bounty). Poprawka dostępna w repozytorium GitHub projektu unshiftio/url-parse. Pakiet ujęty również w biuletynie bezpieczeństwa Debian LTS (luty 2023) oraz w poradniku NetApp (marzec 2022).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HUrl Parse Project Url Parse
APPUrl-Parse Project< 1.5.9
Powiązane podatności
Obejście autoryzacji w NPM url-parse przez klucz kontrolowany przez użytkownika
Błędne parsowanie URL w url-parse prowadzące do SSRF i Auth Bypass
Authorization Bypass Through User-Controlled Key in NPM url-parse prior to 1.5.7.
Authorization Bypass Through User-Controlled Key in NPM url-parse prior to 1.5.6.
url-parse is vulnerable to URL Redirection to Untrusted Site