Gradio w wersjach przed 6.16.0 zawiera podatność typu path traversal w metodzie preprocess() komponentu FileExplorer, pozwalającą nieuwierzytelnionym atakującym na odczyt dowolnych plików poza skonfigurowanym katalogiem głównym. Brak wymagania uwierzytelnienia znacząco zwiększa ryzyko i zasięg potencjalnego ataku.
▸ Pokaż oryginał (EN)
Gradio before 6.16.0 contain a path traversal vulnerability in the FileExplorer component's preprocess() method that allows unauthenticated attackers to escape the configured root directory by supplying path segments containing directory traversal sequences or absolute paths. Attackers can provide crafted path segments that cause os.path.join to discard the root_dir prefix entirely, resulting in arbitrary file read or exposure of sensitive files outside the intended directory.
Podatność wynika z nieprawidłowej walidacji segmentów ścieżek przekazywanych do metody preprocess() w komponencie FileExplorer. Atakujący może dostarczyć specjalnie spreparowane segmenty ścieżki zawierające sekwencje przejścia katalogów (np. '../') lub ścieżki bezwzględne, które powodują, że funkcja os.path.join całkowicie pomija prefiks root_dir. W efekcie aplikacja uzyskuje dostęp do plików znajdujących się poza zamierzonym, skonfigurowanym katalogiem głównym. Atak nie wymaga żadnego uwierzytelnienia ani interakcji po stronie użytkownika.
Atakujący może odczytywać dowolne pliki w systemie plików serwera, do których posiada dostęp proces aplikacji, w tym potencjalnie wrażliwe pliki konfiguracyjne, klucze prywatne lub dane użytkowników. Skutkiem jest nieautoryzowane ujawnienie poufnych informacji (brak wpływu na integralność i dostępność).
Należy zaktualizować Gradio do wersji 6.16.0 lub nowszej, w której podatność została usunięta. Patch dostępny jest w repozytorium GitHub projektu (commit 97d541f3d5fd05b2587a69ecc94b68fe5d2d7004) oraz poprzez oficjalne wydanie oznaczone jako gradio@6.16.0.
Gradio Project Gradio w wersjach przed 6.16.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XGradio Project Gradio
APPGradio Project< 6.16.0
Powiązane podatności
Code injection w Gradio v4.36.1 via component_meta.py
Command Injection w workflow CI/CD repozytorium Gradio (GitHub Actions)
Path Traversal (LFI) w Gradio poprzez złośliwą wartość JSON w API
Gradio before version 6.15.0 contains a cookie injection vulnerability that allows remote attackers to perform...
Gradio is an open-source Python package designed for quick prototyping. Prior to version 6.7, Gradio apps runn...