CVE-2026-61744
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 41 - wyżej niż 41% wszystkich znanych CVE
Streszczenie
InvenTree przed wersją 1.4.0 ma podatność w endpointcie /api/barcode/, który akceptuje wewnętrzny kod kreskowy JSON zsyntetyzowany przez atakującego, zawierający małą literę modelu i klucz główny. Endpoint wymaga tylko uwierzytelnienia lub ogólnego zakresu odczytu, a wbudowana wtyczka kodu kreskowego zwraca pełny serializer modelu bez sprawdzania uprawnień per-model. Użytkownik z niskimi uprawnieniami może wyliczać klucze główne dla części, zapasów, lokalizacji, części dostawców i producentów, zamówień i budów, ujawniając wrażliwe dane handlowe. Problem naprawiono w wersji 1.4.0.
Ocena ryzyka
Ujawnienie wrażliwych danych handlowych, takich jak ceny, dane dostawców i klientów, co może naruszyć przewagę konkurencyjną i poufność.
Rekomendacja
Zaktualizuj InvenTree do wersji 1.4.0 lub nowszej, aby wymusić sprawdzanie uprawnień per-model w endpointcie /api/barcode/.
Inne podatności w InvenTree
Zobacz wszystkie- CVE-2026-61749Średnie
InvenTree przed wersją 1.4.0 ma podatność w renderowaniu raportów i etykiet przez WeasyPrint, gdzie uprzywilejowani użytkownicy mogą tworzyć szablony pobierające zasoby wybrane przez atakującego przez HTTP, HTTPS lub lokalny URI pliku. Brak ograniczonego url_fetcher pozwala na odczyt lokalnych plików lub odpowiedzi wewnętrznych usług, co umożliwia pełny odczyt SSRF, ujawnienie dowolnych plików lokalnych, w tym poświadczeń aplikacji, i możliwą kompromitację konta superużytkownika. Problem naprawiono w wersji 1.4.0.
- CVE-2026-61748Średnie
InvenTree przed wersją 1.4.0 ma podatność w endpointach /api/report/print/ i /api/report/label/print/, które wymagają uwierzytelnienia, ale nie sprawdzają uprawnień per-model przed wyborem obiektów i renderowaniem ich z wybranym szablonem. Konto bez roli lub z niepowiązaną rolą może wyliczać identyfikatory obiektów i pobierać raporty zawierające dane zakupów, sprzedaży, części, BOM, zapasów, budowy, dostawców, klientów, cen i inwentaryzacji, które odpowiednie API by odmówiły. Problem naprawiono w wersji 1.4.0.
- CVE-2026-61747Średnie
InvenTree przed wersją 1.4.0 ma podatność w endpointach /api/importer/row/ i /api/importer/mapping/, które nie ograniczają zapytań do właściciela sesji importu. Każdy uwierzytelniony użytkownik, nawet bez przypisanych ról, może podać identyfikator sesji innego użytkownika i pobrać dane wierszy oraz mapowania kolumn, ujawniając pełną zawartość danych przygotowanych do importu. Problem naprawiono w wersji 1.4.0.
- CVE-2026-61746Średnie
InvenTree przed wersją 1.4.0 ma podatność w endpointach ustawień wtyczek, które nie wymagają uwierzytelnienia (brak uprawnienia IsAuthenticated). Niezalogowany atakujący może pobrać nazwy wtyczek, klucze ustawień, opisy, typy, wybory i niechronione wartości konfiguracyjne. Chronione wartości sekretów pozostają zamaskowane, więc ogranicza się to do metadanych i nie-sekretnej konfiguracji. Problem naprawiono w wersji 1.4.0.
- CVE-2026-61745Średnie
W systemie InvenTree endpoint POST /api/machine/{pk}/restart/ używa IsAuthenticatedOrReadScope bez wymagania roli ADMIN, która jest wymagana przy innych operacjach zarządzania maszynami. Każdy uwierzytelniony użytkownik bez roli ADMIN, w tym użytkownik magazynu z samą rolą STOCK, może wywołać MachineRestart i zrestartować dowolną zarejestrowaną maszynę, resetując jej status i przerywając aktywne drukowanie, skanowanie lub inne operacje. Problem naprawiono w wersji 1.4.0.
- CVE-2026-39362Wysokie
InvenTree przed wersjami 1.2.7 i 1.3.0 umożliwia uwierzytelnionym użytkownikom pobieranie plików z dowolnych URL-i (remote_image) bez walidacji adresów IP wewnętrznych. Atakujący może wykorzystać to do skanowania sieci wewnętrznej lub ataków SSRF.
- CVE-2026-35479Średnie
W InvenTree przed wersjami 1.2.7 i 1.3.0 użytkownicy z uprawnieniami personelu (staff) mogą instalować wtyczki przez API, bez konieczności posiadania konta superużytkownika. Jest to niezgodne z innymi działaniami na wtyczkach (np. odinstalowywaniem), które wymagają dostępu superużytkownika.
- CVE-2026-35478Wysokie
Podatność w InvenTree (system zarządzania zapasami) od wersji 0.16.0 do 1.2.7. Każdy uwierzytelniony użytkownik może utworzyć ważny token API dla dowolnego innego użytkownika, w tym administratora, poprzez podanie jego ID w żądaniu POST /api/user/tokens/. Token jest natychmiast użyteczny do pełnej autoryzacji API.
- CVE-2026-35477Średnie
InvenTree od wersji 1.2.3 do 1.2.6 zawiera podatność na zdalne wykonanie kodu. Mimo że walidator szablonów używa piaskownicy, renderer w part/helpers.py nadal używa niesandboxowanego środowiska, co pozwala użytkownikowi z uprawnieniami personelu na wykonanie dowolnego kodu.
- CVE-2026-35476Wysokie
InvenTree to system zarządzania zapasami open source. Przed wersjami 1.2.7 i 1.3.0 uwierzytelniony użytkownik niebędący personelem może podnieść swoje konto do poziomu personelu za pomocą żądania POST do punktu końcowego swojego konta użytkownika. Uprawnienia do zapisu w punkcie końcowym API są nieprawidłowo skonfigurowane, umożliwiając każdemu użytkownikowi zmianę swojego statusu personelu. Podatność została naprawiona w wersjach 1.2.7 i 1.3.0.
Oryginalny opis (angielski, źródło NVD)
InvenTree is an Open Source Inventory Management System. Prior to 1.4.0, POST /api/barcode/ accepts an attacker-synthesized internal JSON barcode containing a lowercase model label and integer primary key, while BarcodeView uses IsAuthenticatedOrReadScope and requires only authentication or a general read scope. The built-in barcode plugin selects the object with model.objects.get(pk=...), and InvenTreeBarcodeMixin.format_matched_response() returns the complete model serializer output as instance without checking the caller's per-model view role. A low-privilege user can enumerate primary keys for parts, stock, locations, supplier and manufacturer parts, orders, and builds to disclose commercially sensitive inventory, pricing, supplier, customer, and order data. This issue is fixed in version 1.4.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

