W bibliotece AgentScope w wersjach do v0.0.4 włącznie funkcja `is_callable_expression` w pliku `workflow_utils.py` bezpośrednio wykonuje dane wejściowe użytkownika przy użyciu `eval()`. Umożliwia to nieuwierzytelnionemu atakującemu zdalne wykonanie dowolnego kodu (RCE) na serwerze.
▸ Pokaż oryginał (EN)
In agentscope <=v0.0.4, the file agentscope\web\workstation\workflow_utils.py has the function is_callable_expression. Within this function, the line result = eval(s) poses a security risk as it can directly execute user-provided commands.
Funkcja `is_callable_expression` w module workstation aplikacji webowej AgentScope zawiera wywołanie `result = eval(s)`, gdzie `s` pochodzi od użytkownika. Brak jakiejkolwiek walidacji ani sandboxingu oznacza, że dowolny wyrażenie przekazane jako dane wejściowe jest interpretowane i wykonywane przez interpreter Pythona z uprawnieniami procesu serwera. Atak nie wymaga uwierzytelnienia, a wektor jest sieciowy, co czyni podatność trywialną do wykorzystania zdalnie.
Atakujący może zdalnie wykonać dowolny kod na serwerze bez konieczności posiadania jakichkolwiek uprawnień, co prowadzi do pełnego przejęcia kontroli nad systemem, wycieku danych oraz potencjalnego lateral movement w sieci wewnętrznej.
Należy zaktualizować AgentScope do wersji wyższej niż v0.0.4, w której usunięto niezabezpieczone wywołanie `eval()`. Jeśli aktualizacja nie jest natychmiast możliwa, należy zablokować dostęp sieciowy do interfejsu webowego workstation AgentScope na poziomie firewall oraz nie udostępniać aplikacji w środowiskach publicznie dostępnych.
Modelscope AgentScope w wersjach <= v0.0.4
Publicznie dostępne są dwa opisy techniczne podatności (GitHub Gist oraz Notion), potwierdzające możliwość nieuwierzytelnionego RCE poprzez nadużycie funkcji eval() w funkcji is_callable_expression oraz sanitize_node.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HModelscope Agentscope
APPModelscope≤ 0.0.4
Powiązane podatności
Błędna konfiguracja CORS w Modelscope AgentScope umożliwia nieautoryzowany dostęp do API
Path traversal umożliwiający usunięcie dowolnych plików w AgentScope
Path traversal w AgentScope umożliwia odczyt i zapis plików JSON
A path traversal vulnerability exists in modelscope/agentscope version v.0.0.4. The API endpoint `/api/file` d...
An arbitrary file download vulnerability exists in the rpc_agent_client component of modelscope/agentscope ver...