Biblioteka ActiveAdmin w wersjach przed 3.2.0 jest podatna na CSV injection w pliku csv_builder.rb. Podatność pozwala atakującemu na osadzenie złośliwych formuł w eksportowanych plikach CSV, co może prowadzić do wykonania kodu po stronie użytkownika otwierającego plik w arkuszu kalkulacyjnym.
▸ Pokaż oryginał (EN)
csv_builder.rb in ActiveAdmin (aka Active Admin) before 3.2.0 allows CSV injection.
Podatność (CWE-1236) polega na braku odpowiedniej sanityzacji danych wejściowych przed ich umieszczeniem w generowanym pliku CSV. Atakujący może wprowadzić dane zawierające specjalne znaki (np. =, +, -, @) inicjujące formuły w programach takich jak Microsoft Excel czy LibreOffice Calc. Gdy administrator lub inny użytkownik otworzy wyeksportowany plik CSV, arkusz kalkulacyjny może automatycznie wykonać osadzoną formułę, co może skutkować np. wykonaniem poleceń systemowych lub wyciekiem danych.
Atakujący może doprowadzić do wykonania złośliwego kodu po stronie użytkownika otwierającego plik CSV oraz potencjalnie do wycieku wrażliwych danych lub kompromitacji systemu ofiary. Wysoki wynik CVSS (9.8) odzwierciedla możliwość naruszenia poufności, integralności i dostępności bez konieczności uwierzytelnienia.
Należy zaktualizować ActiveAdmin do wersji 3.2.0 lub nowszej, która zawiera poprawkę wprowadzoną w commit 697be2b183491beadc8f0b7d8b5bfb44f2387909. Patch dostępny jest w oficjalnym repozytorium GitHub projektu oraz opisany w wydaniu v3.2.0.
ActiveAdmin (Active Admin) we wszystkich wersjach przed 3.2.0
Szczegółowy opis techniczny podatności opublikowany został przez badacza na platformie Medium pod adresem wskazanym w referencjach (jzee-rx.medium.com).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HActiveadmin Active Admin
APPActiveadmin< 3.2.0