CVE-2026-76900
ŚrednieCVSS 6.8Streszczenie
CordysCRM w wersji 1.7.3 zawiera podatność SSRF w ApprovalResourceService.sendWebHook, która odczytuje WebHookConfig.webHookUrl z konfiguracji węzła zatwierdzenia i przekazuje go do HttpClientUtils bez walidacji SSRF. Użytkownik z uprawnieniami PROCESS_SETTING_ADD może skonfigurować wewnętrzny URL przez POST /approval-flow/add, a serwer wykona żądanie do tego URL podczas wykonywania akcji zatwierdzenia, umożliwiając dostęp do metadanych chmury, rozpoznanie sieci wewnętrznej i interakcję z wewnętrznymi usługami.
Ocena ryzyka
Ryzyko obejmuje możliwość wykorzystania serwera do ataków na wewnętrzne zasoby, w tym dostęp do metadanych chmury i rozpoznanie sieci, co może prowadzić do naruszenia poufności i integralności systemu.
Rekomendacja
Zaleca się aktualizację CordysCRM do wersji 1.7.4 lub nowszej oraz wdrożenie walidacji URL pod kątem SSRF dla wszystkich webhooków.
Inne podatności w CordysCRM
Zobacz wszystkie- CVE-2026-76902Średnie
CordysCRM przed wersją 1.7.4 zawiera podatność w trasach /attachment/preview/{id} i /pic/preview/{id}, które są skonfigurowane jako anonimowe i wywołują AttachmentService.getResource bez sprawdzania własności, organizacji lub uprawnień. Nieuwierzytelniony atakujący, który zgadnie lub zaobserwuje identyfikator wygenerowany przez IDGenerator.nextStr, może pobrać pliki przesłane przez użytkowników z innych organizacji.
- CVE-2026-76901Średnie
CordysCRM przed wersją 1.7.4 zawiera podatność w trasach GET /pool/lead/get/{id} i GET /pool/account/get/{id}, które używają jedynie podstawowych kontroli uprawnień odczytu bez powiązania z zasobem CsPermission, co pozwala uwierzytelnionemu użytkownikowi z uprawnieniami CLUE_MANAGEMENT_POOL:READ lub CUSTOMER_MANAGEMENT_POOL:READ na dostęp do rekordów należących do innych użytkowników, działów lub organizacji. Ujawniane dane obejmują nazwy kontaktów, numery telefonów, informacje o właścicielu i działy oraz wartości pól niestandardowych.
- CVE-2026-76899Średnie
CordysCRM w wersjach od 1.7.0 do 1.7.4 zawiera podatność na wstrzyknięcie SQL w punkcie końcowym POST /account-pool/page. Uwierzytelniony użytkownik z uprawnieniami MODULE_SETTING_UPDATE może umieścić dowolną funkcję bazy danych w polu SortRequest.name, ponieważ brakuje walidacji żądania Spring, a czarna lista jest niekompletna. Funkcje takie jak extractvalue i updatexml mogą ujawnić wartości z bazy danych przez błąd orakularny.
- CVE-2026-63646Średnie
CordysCRM przed wersją 1.7.2 umożliwia nieuwierzytelnionym użytkownikom dostęp do punktu końcowego GET /mcp/form/config/{formKey} z powodu błędnej konfiguracji ShiroFilter, która oznacza /mcp/** jako anonimowy. Brak adnotacji uprawnień w kontrolerze pozwala na uzyskanie szczegółów modelu danych CRM, takich jak nazwy pól, typy, reguły walidacji i źródła powiązań.
- CVE-2026-52745Średnie
CordysCRM przed wersją 1.7.0 ma podatność na ślepą iniekcję SQL opartą na czasie w punkcie końcowym POST /account-pool/page. Uwierzytelniony użytkownik z uprawnieniami MODULE_SETTING:UPDATE może umieścić spreparowaną wartość sort.name w dynamicznym wyrażeniu ORDER BY bez ścisłej walidacji po stronie serwera.
- CVE-2026-63647Krytyczne
CordysCRM to otwarty system CRM oparty na AI, który wspiera prywatne wdrożenia. W wersjach przed 1.7.2 SseController udostępnia anonimowe punkty końcowe /sse/subscribe, /sse/broadcast i /sse/close, ponieważ ShiroFilter.addPublicPathFilters zezwala na ścieżki SSE, a punkty końcowe ufają kontrolowanemu przez wywołującego identyfikatorowi userId zamiast wyprowadzać tożsamość z uwierzytelnionego podmiotu. Nieuwierzytelniony wywołujący może użyć /sse/subscribe do odczytu zdarzeń przepływu pracy innego użytkownika, żądań zatwierdzenia, wzmianek i alertów, użyć /sse/broadcast do wstrzyknięcia komunikatów SYSTEM_HEARTBEAT do strumienia innego użytkownika lub użyć /sse/close do zakończenia kanału innego użytkownika. Podatność została naprawiona w wersji 1.7.2.
- CVE-2026-16223Średnie
Podatność SSRF (Server-Side Request Forgery) w 1Panel-dev CordysCRM do wersji 1.4.1 w funkcji getSqlBotSrc pliku IntegrationConfigService.java. Zdalny atakujący może manipulować argumentem appSecret, co prowadzi do wysyłania żądań HTTP do dowolnych wewnętrznych zasobów.
- CVE-2026-16222Średnie
W komponencie Third Party Endpoint systemu CordysCRM do wersji 1.4.1 wykryto podatność na fałszowanie żądań po stronie serwera (SSRF). Problem występuje w pliku TokenService.java, gdzie manipulacja argumentem mkAddress umożliwia zdalne wykonanie ataku. Projekt zamknął zgłoszenie, uznając, że nie jest to oficjalny sposób raportowania podatności.
- CVE-2026-10567Niskie
W systemie CordysCRM od 1Panel-dev do wersji 1.4.1 wykryto podatność XSS w funkcji Save pliku ModuleFormService.java. Manipulacja argumentem Description prowadzi do ataku cross-site scripting. Atak może być przeprowadzony zdalnie, a exploit został opublikowany.
- CVE-2026-10514Niskie
W CordysCRM do wersji 1.6.2 wykryto podatność XSS w pliku RequestParamTrimConfig.java. Atak może być przeprowadzony zdalnie. Łatka dostępna w wersji 1.7.0.
Oryginalny opis (angielski, źródło NVD)
CordysCRM is an open source AI-powered customer relationship management system that supports private deployment. In version 1.7.3, ApprovalResourceService.sendWebHook reads WebHookConfig.webHookUrl from stored approval-node configuration and passes it through ApprovalFlowService.updateApprovalPostField to HttpClientUtils without the SSRF validation used by the optional testConnect path. A user with PROCESS_SETTING_ADD can configure an internal URL through POST /approval-flow/add and cause the server to request it when POST /approval-action/approve executes the approval action, enabling cloud metadata access, internal network reconnaissance, and interaction with reachable internal services. This issue is fixed in version 1.7.4.

