CVE-2026-76901
ŚrednieCVSS 5.8Streszczenie
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.
Ocena ryzyka
Ryzyko obejmuje nieautoryzowany dostęp do danych klientów i potencjalnych leadów, co może prowadzić do naruszenia poufności i integralności danych.
Rekomendacja
Zaleca się aktualizację CordysCRM do wersji 1.7.4 lub nowszej oraz wdrożenie kontroli dostępu opartej na zakresie danych (resourceId binding) dla wszystkich operacji odczytu.
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-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-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. Prior to 1.7.4, GET /pool/lead/get/{id} in PoolClueController.get and GET /pool/account/get/{id} in PoolCustomerController.get use bare pool-read permission checks without the CsPermission resourceId binding that enforces per-record data scope. An authenticated user with the ordinary CLUE_MANAGEMENT_POOL:READ or CUSTOMER_MANAGEMENT_POOL:READ permission can supply another record's id and cause unscoped primary-key getters to return leads or accounts owned by other users, departments, or organizations. Exposed data includes contact names, phone numbers, owner and department attribution, and custom field values. This issue is fixed in version 1.7.4.

