Standardowa biblioteka browsers w Nim 1.2.4 nieprawidłowo przetwarza argument URL przekazywany do funkcji browsers.openDefaultBrowser. Błąd umożliwia atakującemu wstrzyknięcie dodatkowego argumentu do wywołania systemowego polecenia open, co prowadzi do wykonania dowolnych zarejestrowanych poleceń systemowych.
▸ Pokaż oryginał (EN)
In Nim 1.2.4, the standard library browsers mishandles the URL argument to browsers.openDefaultBrowser. This argument can be a local file path that will be opened in the default explorer. An attacker can pass one argument to the underlying open command to execute arbitrary registered system commands.
Funkcja browsers.openDefaultBrowser przekazuje argument URL bezpośrednio do systemowego polecenia open bez odpowiedniej sanityzacji lub walidacji. Atakujący może spreparować URL zawierający lokalną ścieżkę do pliku lub dodatkowy argument, który zostanie zinterpretowany przez system operacyjny jako osobny parametr polecenia open. Dzięki temu możliwe jest uruchomienie dowolnego zarejestrowanego polecenia systemowego (CWE-88: argument injection).
Atakujący może wykonać dowolne zarejestrowane polecenia systemowe w kontekście uruchomionej aplikacji, co może skutkować pełnym przejęciem kontroli nad systemem, naruszeniem poufności danych lub ich integralności.
Należy zaktualizować Nim do wersji 1.2.6 lub 1.0.8, które zawierają poprawkę tego błędu zgodnie z informacją producenta opublikowaną 2020-07-30. Szczegóły dostępne pod adresem: https://nim-lang.org/blog/2020/07/30/versions-126-and-108-released.html
Nim w wersji 1.2.4 (standardowa biblioteka browsers, moduł browsers.nim)
Szczegółowa analiza podatności została opublikowana przez Consensys Diligence. Informacja o poprawce pochodzi z bloga producenta (Nim 1.2.6 i 1.0.8, data: 2020-07-30).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HNim Lang Nim
APPNim-Lang≤ 1.2.6
Powiązane podatności
CRLF Injection w bibliotece asyncftpclient języka Nim
Nimble is a package manager for the Nim programming language. In Nim release versions before versions 1.2.10 a...
Nimble is a package manager for the Nim programming language. In Nim release version before versions 1.2.10 an...
Nimble is a package manager for the Nim programming language. In Nim release versions before versions 1.2.10 a...
In Nim 1.2.4, the standard library httpClient fails to properly validate the server response. For example, htt...