Katalog CVE

CVE-2026-76073

WysokieCVSS 8.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.28%

Percentyl 20 - wyżej niż 20% wszystkich znanych CVE

Streszczenie

Label Studio nie ogranicza punktu końcowego szczegółów adnotacji do organizacji użytkownika żądającego. AnnotationAPI w label_studio/tasks/api.py deklaruje queryset = Annotation.objects.all() i nie zapewnia nadpisania get_queryset, więc domyślne wyszukiwanie pobiera dowolną adnotację po kluczu podstawowym. Uprawnienia wymagane przez widok to annotations.view, annotations.change i annotations.delete, a każdy zalogowany użytkownik spełnia te wymagania, bez testu na poziomie obiektu. Identyfikatory adnotacji są sekwencyjnymi liczbami całkowitymi, więc uwierzytelniony użytkownik jednej organizacji może wyliczać identyfikatory, aby czytać, modyfikować i usuwać adnotacje należące do innych organizacji na tym samym wystąpieniu. Ten sam nieograniczony queryset pojawia się w AnnotationConvertAPI.

Ocena ryzyka

Ryzyko obejmuje nieautoryzowany dostęp do adnotacji innych organizacji, co może prowadzić do naruszenia poufności danych i integralności.

Rekomendacja

Zaleca się natychmiastową aktualizację Label Studio do najnowszej wersji oraz wdrożenie kontroli dostępu na poziomie organizacji.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

Label Studio does not scope the annotation detail endpoint to the requesting user's organization. AnnotationAPI in label_studio/tasks/api.py declares queryset = Annotation.objects.all() and provides no get_queryset override, so the default lookup retrieves any annotation by primary key. The view's permission_required entries name annotations.view, annotations.change and annotations.delete, and label_studio/core/permissions.py registers every permission with rules.is_authenticated, so the check is satisfied by any logged-in account and no object-level organization test runs. The sibling task endpoint does constrain its queryset with project__organization set to the requester's active organization, which is the boundary this path omits. Annotation identifiers are sequential integers, so an authenticated user of one organization can enumerate identifiers to read, modify and delete annotations belonging to other organizations on the same instance. The same unscoped queryset appears on AnnotationConvertAPI in the same file.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS