W komponencie ZulipConnector aplikacji danswer-ai/danswer istnieje podatność umożliwiająca nadpisanie lub tworzenie dowolnych plików na serwerze. Wynika ona z braku walidacji danych wejściowych kontrolowanych przez użytkownika, co czyni ją groźną dla integralności systemu i dostępności usług.
▸ Pokaż oryginał (EN)
An arbitrary file overwrite vulnerability exists in the ZulipConnector of danswer-ai/danswer, affecting the latest version. The vulnerability arises from the load_credentials method, where user-controlled input for realm_name and zuliprc_content is used to construct file paths and write file contents. This allows attackers to overwrite or create arbitrary files if a zuliprc- directory already exists in the temporary directory.
Podatność tkwi w metodzie load_credentials, która przyjmuje od użytkownika wartości realm_name oraz zuliprc_content i wykorzystuje je bezpośrednio do konstruowania ścieżek plików oraz zapisywania ich zawartości. Brak właściwej sanityzacji tych danych (CWE-29: path traversal) pozwala atakującemu na wyjście poza zamierzony katalog docelowy. Atak jest możliwy, gdy w katalogu tymczasowym istnieje już katalog o nazwie zuliprc-, co umożliwia nadpisanie lub tworzenie arbitralnych plików w systemie plików serwera.
Atakujący bez uwierzytelnienia może nadpisać lub utworzyć dowolne pliki na serwerze, co może prowadzić do naruszenia integralności systemu, zakłócenia działania usług (denial of service) lub potencjalnego wykonania kodu poprzez podmianę krytycznych plików konfiguracyjnych bądź binarnych.
Należy zastosować patche dostępne u producenta zgodnie z referencjami (https://huntr.com/bounties/21e9b909-036c-4544-ad35-6a5117836275). Dodatkowo zaleca się ograniczenie dostępu do endpointów konfiguracyjnych ZulipConnector wyłącznie do zaufanych użytkowników oraz monitorowanie operacji zapisu w katalogach tymczasowych.
Najnowsza wersja danswer-ai/danswer (dokładna wersja nie została wskazana w opisie — szczegóły w referencjach producenta)
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H