CVE-2026-8320
ŚrednieCVSS 4.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 13 - wyżej niż 13% wszystkich znanych CVE
Streszczenie
Wykryto podatność bezpieczeństwa w jishenghua jshERP do wersji 3.6. Dotyczy ona funkcji getUserByWeixinCode w pliku jshERP-boot/src/main/java/com/jsh/erp/service/UserService.java komponentu endpoint updatePlatformConfigByKey. Manipulacja argumentem weixinUrl prowadzi do server-side request forgery (SSRF). Atak można wykonać zdalnie. Exploit został publicznie ujawniony i może być wykorzystany. Projekt został wcześnie poinformowany o problemie poprzez zgłoszenie issue, ale jeszcze nie odpowiedział.
Ocena ryzyka
Podatność SSRF pozwala atakującemu na wymuszenie żądań z serwera do zasobów wewnętrznych lub zewnętrznych, co może prowadzić do ujawnienia danych, skanowania sieci wewnętrznej lub interakcji z usługami wewnętrznymi. Publicznie dostępny exploit zwiększa ryzyko aktywnego wykorzystania.
Rekomendacja
Brak oficjalnej poprawki — rozważ ograniczenie dostępu do endpointu updatePlatformConfigByKey oraz walidację i whitelistę dozwolonych adresów URL dla parametru weixinUrl. Monitoruj projekt w poszukiwaniu aktualizacji i wdróż kontrolę wychodzącego ruchu sieciowego.
Inne podatności w jshERP
Zobacz wszystkie- CVE-2026-110615Wysokie
jshERP w wersji do 3.6 zawiera lukę braku autoryzacji w endpointcie POST /user/batchSetStatus, która pozwala uwierzytelnionym użytkownikom o niskich uprawnieniach zmieniać status kont innych użytkowników. Atakujący mogą przesłać spreparowane identyfikatory i wartości statusu, aby wyłączyć wszystkie konta niebędące właścicielem w swoim tenancie, blokując administratorów, lub ponownie włączyć wyłączone konta.
- CVE-2026-109188Średnie
jshERP do wersji 3.6 zawiera lukę braku autoryzacji, która pozwala uwierzytelnionym użytkownikom z niskimi uprawnieniami tworzyć dane podstawowe na poziomie całej dzierżawy (tenant) poprzez punkty końcowe add i import, które nie sprawdzają ról. Atakujący mogą wysyłać żądania POST do /account/add, /material/add lub /material/importExcel, aby tworzyć konta rozliczeniowe, produkty z początkowym stanem magazynowym, działy i wpisy słownikowe.
- CVE-2026-109187Średnie
jshERP do wersji 3.6 zawiera podatność ujawnienia informacji, która pozwala każdemu uwierzytelnionemu użytkownikowi odczytać sekrety konfiguracyjne całej platformy przez procedurę getInfoByKey kontrolera PlatformConfigController. Użytkownicy o niskich uprawnieniach z dowolnej dzierżawy mogą żądać dowolnych wartości platformKey, takich jak email_auth_code lub activation_code, aby uzyskać kody autoryzacji SMTP i sekrety aktywacyjne, ponieważ tylko klucze aliOss i weixin są blokowane.
- CVE-2026-109186Wysokie
jshERP do wersji 3.6 zawiera podatność masowego przypisania w handlerze aktualizacji UserController, która pozwala uwierzytelnionym użytkownikom nadpisać chronione pola, w tym tenant_id i hasło. Atakujący mogą wysłać spreparowane ciało żądania PUT /user/update, aby przy następnym logowaniu przełączyć się do innej dzierżawy lub nadpisać skróty haseł innych użytkowników w celu przejęcia konta.
- CVE-2026-109185Wysokie
jshERP do wersji 3.6 zawiera podatność braku autoryzacji w handlerze updateUser kontrolera UserController, która pozwala uwierzytelnionym użytkownikom przypisać dowolne role dowolnemu użytkownikowi. Atakujący o niskich uprawnieniach mogą wysłać własny identyfikator użytkownika z identyfikatorem roli administratora dzierżawy, aby podnieść uprawnienia lub zmienić role innych użytkowników dzierżawy.
- CVE-2026-109184Średnie
jshERP do wersji 3.6 zawiera podatność nieprawidłowej autoryzacji, która pozwala uwierzytelnionym użytkownikom o niskich uprawnieniach odczytać dowolną księgę kont rozliczeniowych, podając dowolne accountId. Atakujący ograniczeni do zakresu danych osobowych lub działowych mogą wysyłać zapytania GET /account/findAccountInOutList, aby przeglądać numery rachunków, kontrahentów, kwoty i uwagi innych użytkowników w ramach dzierżawy.
- CVE-2026-109183Średnie
jshERP do wersji 3.6 zawiera podatność obejścia autoryzacji, która pozwala uwierzytelnionym użytkownikom tworzyć wstępnie zatwierdzone rachunki, ustawiając status w żądaniach POST /depotHead/addDepotHeadAndDetail. Atakujący mogą podać status 1, aby pominąć kontrole uprawnień audytu i wielopoziomowe procesy zatwierdzania, tworząc rachunki zatwierdzone, które wpływają na stan magazynowy i zapytania raportowe.
- CVE-2026-109182Średnie
jshERP do wersji 3.6 zawiera podatność nieprawidłowej autoryzacji w GET /supplier/exportExcel, która pozwala uwierzytelnionym użytkownikom ominąć ograniczenia zakresu danych ról egzekwowane przez /supplier/list. Atakujący ograniczeni do danych osobowych lub działowych mogą eksportować wszystkie rekordy dostawców, klientów i członków, ujawniając kontakty, numery telefonów, numery podatkowe, konta bankowe i salda.
- CVE-2026-109181Średnie
jshERP do wersji 3.6 zawiera podatność obejścia autoryzacji, która pozwala uwierzytelnionym użytkownikom ograniczonym do danych osobowych lub działowych na listowanie rachunków innych użytkowników poprzez dodanie wartości purchaseStatus. Atakujący mogą dodać purchaseStatus=0 do JSON-a wyszukiwania w GET /depotHead/list, co powoduje, że DepotHeadService.select usuwa filtr twórcy i ujawnia wszystkie rachunki zakupu, sprzedaży i magazynowe w dzierżawie.
- CVE-2026-109180Średnie
jshERP do wersji 3.6 zawiera lukę obejścia autoryzacji, która pozwala uwierzytelnionym użytkownikom na odczyt danych z nieprzypisanych magazynów poprzez podanie parametrów depotId lub depotIds. Gdy włączone jest ograniczenie magazynów depot_flag, atakujący może wskazać dowolne identyfikatory magazynów w endpointach takich jak /depotItem/getMaterialDepotStockByParam, aby odczytać stany magazynowe, numery partii, dane sprzedażowe i wycenione pozycje faktur w obrębie tenanta.
Oryginalny opis (angielski, źródło NVD)
A security vulnerability has been detected in jishenghua jshERP up to 3.6. This affects the function getUserByWeixinCode of the file jshERP-boot/src/main/java/com/jsh/erp/service/UserService.java of the component updatePlatformConfigByKey Endpoint. Such manipulation of the argument weixinUrl leads to server-side request forgery. The attack can be executed remotely. The exploit has been disclosed publicly and may be used. The project was informed of the problem early through an issue report but has not responded yet.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

