Średnia

ApostropheCMS: GET /api/v1/@apostrophecms/page/:id omija ograniczenie viewRole i ujawnia pola chronione przez viewPermission użytkownikom o niższych uprawnieniach

  • Ujawniono: 21.10.2026
  • Aktualizacja: 21.10.2026 20:25

Podsumowanie

Punkt końcowy REST getOne dla stron nie stosuje ograniczeń na poziomie typów viewRole ani redagowania na poziomie pól viewPermission. Użytkownik o uprawnieniach edytora, który zna _id dokumentu, może odczytać pełną treść stron przeznaczonych wyłącznie dla administratorów oraz ich uprzywilejowane pola, podczas gdy punkt końcowy getAll poprawnie egzekwuje oba te ograniczenia.

Szczegóły

Ustalenie 3 — pominięcie viewRole: modules/@apostrophecms/page/index.js udostępnia getRestQuery(req, omitPermissionCheck = false). The getAll path calls publicApiCheckAsync i przetwarza pełny potok konstruktora zapytań, w tym filtrowanie viewRole. Ścieżka getOne używa odmiennej ścieżki kodu, która omija ten potok.

Typ strony zadeklarowany z viewRole: 'admin' jest niedostępny za pośrednictwem GET /api/v1/@apostrophecms/page?type=secretPage (zwraca 403 dla edytora), lecz jest w całości zwracany przez GET /api/v1/@apostrophecms/page/:id:en:published dla tego samego edytora.

Ustalenie 4 — wyciek pól viewPermission: Pola oznaczone za pomocą viewPermission: { action: 'edit', type: '@apostrophecms/page' } są usuwane przez removeForbiddenFields na ścieżce getAll, lecz są zwracane w niezmienionej formie w getOne. Edytor znający dowolny _id dokumentu może odczytać wszystkie pola ograniczone przez viewPermission.

PoC

bash
# Log in as editor, get session jar
EDITOR_JAR="..."

# getAll — correctly blocked
curl -b "$EDITOR_JAR" \
  "http://TARGET/api/v1/@apostrophecms/page?type=secretPage"
# → 403 Forbidden

# getOne — bypassed, returns full document including viewPermission fields
curl -b "$EDITOR_JAR" \
  "http://TARGET/api/v1/@apostrophecms/page/ADMIN_PAGE_ID:en:published"
# → 200 OK, full doc including secretField value

Wpływ

Edytorzy mogą odczytać pełną zawartość dowolnej strony — w tym tych zastrzeżonych dla administratorów za pomocą viewRole — jeśli znają lub odgadną _id. Wartości wrażliwych pól chronionych przez viewPermission są również całkowicie ujawnione. Narusza to model kontroli dostępu do treści w każdej witrynie korzystającej z tych dekoratorów.

Co trzeba zrobić

Zaktualizuj pakiet apostrophe do wersji 4.34.0 lub nowszej.

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Paczka npm apostrophe < 4.34.0 4.34.0

Odnośniki

Ocena CVSS 4.3/10
Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Słabość (CWE)
CWE-862
Platforma
npm
Paczka
apostrophe
Ujawniono
21.10.2026
Aktualizacja
21.10.2026 20:25

Źródła i licencje · Redakcja lub tłumaczenie: DockRay. Zachowano prawa źródeł i obowiązujące licencje.

OSV / GitHub Advisory Database - GHSA-vh56-5m88-39rq - CC BY 4.0

Historia podatności: apostrophe

Wszystkie opisane podatności tej paczki (Paczka npm), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkie (33) w archiwum
Wszystkich wpisów
33
Pierwsza → ostatnia
09.2020 10.2026
Bez poprawki
4
Wykorzystywana w atakach
0

Rozkład istotności

  • Krytyczna 2
  • Wysoka 9
  • Średnia 18
  • Niska 4

Ujawnienia w latach

  1. 2020: 2
  2. 2021: 2
  3. 2022: 0
  4. 2023: 0
  5. 2024: 0
  6. 2025: 0
  7. 2026: 29
Istotność:
  1. ApostropheCMS: GET /api/v1/@apostrophecms/page/:id omija ograniczenie viewRole i ujawnia pola chronione przez viewPermission użytkownikom o niższych uprawnieniach ten wpis
    Średnia · 4.3 CVE-2026-112957 < 4.34.0 4.34.0
  2. Wysoka · 7.3 CVE-2026-45011 = 4.29.0 brak poprawki
  3. Krytyczna · 9.8 CVE-2021-25979 >= 2.63.0, < 3.4.0 3.4.0

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.