CVE-2026-63647
KrytyczneCVSS 9.3Streszczenie
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.
Ocena ryzyka
Nieuwierzytelniony atakujący może uzyskać dostęp do poufnych informacji innych użytkowników, wstrzykiwać fałszywe komunikaty lub zakłócać pracę kanałów SSE, co może prowadzić do naruszenia poufności i integralności danych.
Rekomendacja
Należy zaktualizować CordysCRM do wersji 1.7.2 lub nowszej, która naprawia tę podatność.
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-76900Średnie
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.
- 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-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. Prior to 1.7.2, SseController exposes the anonymous /sse/subscribe, /sse/broadcast, and /sse/close endpoints because ShiroFilter.addPublicPathFilters permits the SSE paths, and the endpoints trust the caller-controlled userId instead of deriving an identity from an authenticated principal. An unauthenticated caller can use /sse/subscribe to read another user's workflow events, approval requests, mentions, and alerts, use /sse/broadcast to inject SYSTEM_HEARTBEAT messages into another user's stream, or use /sse/close to terminate another user's channel. This vulnerability is fixed in 1.7.2.

