Katalog CVE

CVE-2026-74788

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.28%

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

Streszczenie

Scriban przed wersją 7.0.0 (dotknięte wersje <= 6.6.0) zawiera podatność na niekontrolowaną alokację pamięci w funkcjach szablonu string.pad_left i string.pad_right, które nie walidują parametru width przed delegowaniem do .NET String.PadLeft/PadRight. Gdy aplikacja udostępnia Scriban niezaufanym danym wejściowym, atakujący może podać bardzo dużą wartość width (np. 500 000 000), co powoduje alokację ~1GB pamięci w jednym wywołaniu, prowadząc do OutOfMemoryException i odmowy usługi. Limit LimitToString nie zapobiega temu, ponieważ jest egzekwowany dopiero po pełnej alokacji stringa.

Ocena ryzyka

Ryzyko odmowy usługi w aplikacjach przetwarzających niezaufane szablony, co może prowadzić do wyczerpania pamięci i awarii.

Rekomendacja

Zaktualizuj Scriban do wersji 7.0.0 lub nowszej, która dodaje walidację parametru width w funkcjach pad.

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

Scriban before 7.0.0 (affected versions <= 6.6.0) contains an uncontrolled memory allocation vulnerability in the string.pad_left and string.pad_right template functions, which perform no validation on the width parameter before delegating to .NET's String.PadLeft/PadRight. When an application exposes Scriban to untrusted template input, an attacker can supply an arbitrarily large width value (e.g., 500,000,000) to trigger ~1GB memory allocations in a single call, resulting in OutOfMemoryException and denial of service. The TemplateContext.LimitToString limit does not prevent this because it is only enforced after the string has been fully allocated.

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