ShadowsocksX-NG w wersji 1.10.0 jest podpisywany z uprawnieniem com.apple.security.get-task-allow wskutek ustawienia CODE_SIGNING_INJECT_BASE_ENTITLEMENTS. Uprawnienie to, przeznaczone wyłącznie dla środowisk deweloperskich, pozwala zewnętrznym procesom na dołączanie do procesu aplikacji, co stwarza poważne zagrożenie bezpieczeństwa.
▸ Pokaż oryginał (EN)
ShadowsocksX-NG 1.10.0 signs with com.apple.security.get-task-allow entitlements because of CODE_SIGNING_INJECT_BASE_ENTITLEMENTS.
Mechanizm CWE-494 (Download of Code Without Integrity Check) wskazuje na problem z weryfikacją integralności kodu. W tym przypadku flaga CODE_SIGNING_INJECT_BASE_ENTITLEMENTS powoduje, że kompilacja produkcyjna aplikacji otrzymuje uprawnienie com.apple.security.get-task-allow, które w systemie macOS umożliwia debuggerom i innym procesom dołączanie do uruchomionej aplikacji oraz odczytywanie i modyfikowanie jej pamięci. Uprawnienie to nie powinno być obecne w wydaniach produkcyjnych, gdyż obchodzi mechanizmy ochrony Hardened Runtime systemu macOS.
Atakujący lub złośliwa aplikacja z odpowiednimi uprawnieniami lokalnymi może dołączyć do procesu ShadowsocksX-NG, odczytać jego pamięć (w tym potencjalnie dane uwierzytelniające i klucze szyfrowania), a także zmodyfikować jego działanie, co może prowadzić do przejęcia kontroli nad ruchem sieciowym tunelowanym przez aplikację.
Należy zastosować patche dostępne u producenta zgodnie z referencjami — poprawka opisana jest w pull requeście #1456 w repozytorium GitHub projektu ShadowsocksX-NG. Zaleca się aktualizację do wersji zawierającej poprawkę usuwającą uprawnienie com.apple.security.get-task-allow z kompilacji produkcyjnej.
ShadowsocksX-NG w wersji 1.10.0 na macOS
Podatność wynika z błędu w konfiguracji procesu budowania (build pipeline) — flaga CODE_SIGNING_INJECT_BASE_ENTITLEMENTS nie powinna być aktywna w kompilacjach produkcyjnych. Problem zgłoszony i omówiony w pull requeście #1456 w repozytorium GitHub projektu.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HShadowsocks Shadowsocksx Ng
APPShadowsocks1.10.0
Powiązane podatności
An exploitable information disclosure vulnerability exists in the network packet handling functionality of Sha...
An exploitable denial-of-service vulnerability exists in the UDPRelay functionality of Shadowsocks-libev 3.3.2...
An exploitable code execution vulnerability exists in the ss-manager binary of Shadowsocks-libev 3.3.2. Specia...
In manager.c in ss-manager in shadowsocks-libev 3.1.0, improper parsing allows command injection via shell met...