CVE-2026-88368
NieznaneStreszczenie
NanoSVG w commicie 239e102ec zawiera podatność nieprawidłowej konwersji numerycznej w funkcji nsvg__addActive() rasteryzatora. Specjalnie spreparowany dokument SVG z wystarczająco dużymi współrzędnymi geometrii może spowodować, że współrzędne krawędzi skalowane stałoprzecinkowo przekroczą zakres reprezentowalny przez typ int.
Ocena ryzyka
Rasteryzator konwertuje te wartości do int bez walidacji zakresu, co prowadzi do niezdefiniowanego zachowania i możliwego zakończenia procesu, powodując odmowę usługi (DoS). Atakujący może zdalnie dostarczyć złośliwy plik SVG, aby zatrzymać usługę przetwarzającą obrazy.
Rekomendacja
Zaktualizuj NanoSVG do wersji zawierającej poprawkę lub wprowadź walidację zakresu współrzędnych przed konwersją do int w funkcji nsvg__addActive(). Rozważ ograniczenie rozmiaru i złożoności przetwarzanych dokumentów SVG.
Inne podatności w NanoSVG
Zobacz wszystkie- CVE-2026-88367Nieznane
NanoSVG 239e102ec zawiera podatność na nieprawidłową konwersję numeryczną w nsvg__curveDivs() podczas rasteryzacji obrysu SVG. Specjalnie spreparowany dokument SVG zawierający bardzo dużą szerokość obrysu może spowodować, że zaokrąglanie zmiennoprzecinkowe da zerowy kąt podziału. Kolejny podział łuku daje nieskończoność, która jest konwertowana na int bez walidacji zakresu, co prowadzi do niezdefiniowanego zachowania i zakończenia procesu.
- CVE-2026-88366Nieznane
NanoSVG w commicie 239e102ec zawiera podatność nieprawidłowej konwersji numerycznej w funkcji nsvg__pathArcTo() podczas parsowania poleceń łuku SVG. Specjalnie spreparowany dokument SVG z ekstremalnymi wartościami promienia łuku może spowodować, że pośrednie obliczenia łuku wygenerują kąt delta o wartości NaN.
Oryginalny opis (angielski, źródło NVD)
NanoSVG commit 239e102ec contains an incorrect numeric conversion vulnerability in the rasterizer's nsvg__addActive() function. A specially crafted SVG document containing sufficiently large geometry coordinates can cause fixed-point-scaled edge coordinates to exceed the range representable by int. The rasterizer subsequently converts these values to int without range validation, resulting in undefined behavior and possible process termination, leading to denial of service.

