ApostropheCMS: Archiwa importu mogą wyczerpać pamięć masową serwera i wywołać odmowę usługi
Zakres przeglądu i ograniczenia materiału dowodowego
Pakiet: @apostrophecms/import-export, wersja 3.7.0.
Przejrzany tag wydania: @apostrophecms/import-export@3.7.0, commit 9500b8b0e1d630d5e07fbb5fd2c25ed0943845ce (wrzesień 30, 2026).
Przejrzana bieżąca gałąź main: 5ce3732be0ebdebb4db0f8ef160c81e8671157e6.
Importer, ekstraktor gzip, weryfikacja uprawnień importu oraz bazowa implementacja uprawnień nie wykazują różnic między tym tagiem wydania a przeanalizowaną gałęzią main. Niniejsza analiza stanowi statyczny przegląd wdrożonych poprawek. Nie powtórzono oryginalnych reprodukcji w trybie end-to-end na najnowszym wydaniu ani nie testowano wdrożonej witryny. Bieżąca podatność na eksploitację oraz jej wpływ wymagają weryfikacji ze strony opiekunów projektu; poniższe obserwacje wskazują, że zgłoszone mechanizmy kontroli bezpieczeństwa nadal nie występują w publicznym kodzie źródłowym. Oryginalny plik PDF przesłany pocztą elektroniczną zawiera pierwotne materiały reprodukcyjne. Należy odnieść się do tego istniejącego prywatnego załącznika.
Ekstrakcja archiwum importu nie posiada limitów zasobów i czyszczenia po błędach
Bieżący ekstraktor gzip obsługuje błędy zapisu do miejsca docelowego i oczekuje na ukończenie zapisu; te elementy pierwotnego zgłoszenia nie powinny być już traktowane jako niezmienione. Ścieżki importu wymagają obecnie również zalogowanego użytkownika przed przetwarzaniem dużych plików (big-upload), co obejmuje GHSA-86wm-68pq-5jwq.
Funkcja extract() nadal jednak zapisuje rozpakowane wpisy archiwum bez limitów per wpis, łącznej liczby zdekompresowanych bajtów czy liczby wpisów. Parsowanie archiwum wciąż poprzedza autoryzację typu dokumentu. Jeśli ekstrakcja lub parsowanie zakończy się niepowodzeniem, import() powiadamia i ponownie zgłasza błąd przed późniejszym wywołaniem storage.remove(), bez bezwarunkowego czyszczenia w ramach tego cyklu życia. Zgłoszone ryzyko rezydualne to nadmierne zużycie pamięci masowej i zachowywanie artefaktów ekstrakcji/etapu przejściowego z uwierzytelnionych importów. Obsługa błędu zapisu i wymóg logowania nie egzekwują limitu pamięci masowej.
Sugerowane środki zaradcze: dodanie konfigurowalnych limitów strumieniowania opartych na rzeczywistych zdekompresowanych bajtach, ograniczenie liczby wpisów i dozwolonych typów wpisów, ograniczenie liczby współbieżnych importów oraz czyszczenie lokalnych artefaktów i artefaktów uploadfs przy każdym błędzie. Zachowywanie artefaktów kontynuacji powinno odbywać się wyłącznie pod warunkiem jawnego przypisania własności, limitów ważności i limitów całkowitej pamięci masowej.
Źródła referencyjne:
Koordynacja
Vivek R / Winfunc Pierwotny zespół zgłaszający: Mufeed VH / Winfunc
Co trzeba zrobić
Zaktualizuj pakiet @apostrophecms/import-export do wersji 3.7.1 lub nowszej. Dodatkowo warto rozważyć wdrożenie sugerowanych środków zaradczych: dodanie konfigurowalnych limitów strumieniowania dekompresji, ograniczenie dozwolonych wpisów i importów współbieżnych oraz zapewnienie czyszczenia artefaktów w razie niepowodzenia.
Czego dotyczy
Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.
| Platforma | Paczka | Podatne wersje | Poprawka w wersji |
|---|---|---|---|
| Paczka npm | @apostrophecms/import-export | < 3.7.1 | 3.7.1 |
Odnośniki
- https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-9g7p-m758-rp72
- https://nvd.nist.gov/vuln/detail/CVE-2026-112955
- https://github.com/apostrophecms/apostrophe/commit/06e4b377f3c360f9e89c32dccd7e505ad5ddf498
- https://github.com/apostrophecms/apostrophe/commit/40b989b1a9dd23d30029b8ce7668634265cfe5ea
- https://github.com/apostrophecms/apostrophe
- https://github.com/apostrophecms/apostrophe/releases/tag/@apostrophecms/import-export@3.7.1
- Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H- Słabość (CWE)
CWE-400- Platforma
- npm
- Paczka
@apostrophecms/import-export- Ujawniono
- 21.10.2026
- Aktualizacja
- 21.10.2026 20:19
Źródła i licencje · Redakcja lub tłumaczenie: DockRay. Zachowano prawa źródeł i obowiązujące licencje.
OSV / GitHub Advisory Database - GHSA-9g7p-m758-rp72 - CC BY 4.0
Historia podatności: @apostrophecms/import-export
Wszystkie opisane podatności tej paczki (Paczka npm), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.
- Wszystkich wpisów
- 9
- Pierwsza → ostatnia
- 03.2026 10.2026
- Bez poprawki
- 0
- Wykorzystywana w atakach
- 0
Rozkład istotności
- Krytyczna 1
- Wysoka 1
- Średnia 6
- Niska 1
Ujawnienia w latach
- 2026: 9
-
ApostropheCMS: Archiwa importu mogą wyczerpać pamięć masową serwera i wywołać odmowę usługi ten wpis
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.