Biblioteka CSV-Safe gem w wersjach poniżej 3.0.0 nie filtruje prawidłowo znaków specjalnych w generowanych plikach CSV, co umożliwia przeprowadzenie ataku CSV Injection. Jest to podatność krytyczna, ponieważ może prowadzić do wykonania złośliwego kodu na komputerze użytkownika otwierającego zainfekowany plik.
▸ Pokaż oryginał (EN)
CSV-Safe gem < 3.0.0 doesn't filter out special characters which could trigger CSV Injection.
CSV Injection (znane również jako Formula Injection) polega na umieszczeniu w danych eksportowanych do pliku CSV znaków specjalnych takich jak '=', '+', '-' lub '@', które arkusze kalkulacyjne (np. Microsoft Excel, LibreOffice Calc) interpretują jako formuły. Biblioteka CSV-Safe, pomimo swojej nazwy sugerującej ochronę przed tym zagrożeniem, nie eliminuje odpowiednio tych znaków w wersjach poprzedzających 3.0.0. Po otwarciu spreparowanego pliku przez użytkownika, aplikacja arkusza kalkulacyjnego może wykonać osadzone formuły, w tym polecenia systemowe lub żądania sieciowe.
Atakujący może doprowadzić do wykonania złośliwych formuł lub poleceń na komputerze ofiary otwierającej zainfekowany plik CSV, co może skutkować ujawnieniem poufnych danych, nieautoryzowanym dostępem do zasobów systemowych lub dalszym kompromitowaniem środowiska użytkownika.
Należy zaktualizować bibliotekę CSV-Safe gem do wersji 3.0.0 lub nowszej, która wprowadza poprawne filtrowanie znaków specjalnych mogących wywołać CSV Injection. Aktualizacja dostępna jest w repozytorium projektu pod adresem https://github.com/zvory/csv-safe
Biblioteka CSV-Safe gem (Csv-Safe Project) w wersjach poniżej 3.0.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCsv Safe Project Csv Safe
APPCsv-Safe Project< 3.0.0