CVE-2026-88366
NieznaneStreszczenie
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.
Ocena ryzyka
Funkcja konwertuje tę wartość NaN do int bez sprawdzenia, czy jest skończona i reprezentowalna, co prowadzi do niezdefiniowanego zachowania i 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 dodaj walidację wartości NaN i nieskończoności przed konwersją do int w funkcji nsvg__pathArcTo(). Rozważ ograniczenie zakresu wartości promieni łuków w przetwarzanych dokumentach 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-88368Nieznane
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.
Oryginalny opis (angielski, źródło NVD)
NanoSVG commit 239e102ec contains an incorrect numeric conversion vulnerability in nsvg__pathArcTo() when parsing SVG arc commands. A specially crafted SVG document containing extreme arc radius values can cause intermediate arc calculations to produce a NaN delta angle. The function subsequently converts this NaN value to int without validating that it is finite and representable, resulting in undefined behavior and process termination, leading to denial of service.

