Katalog CVE

CVE-2026-61529

ŚrednieCVSS 4.7
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.21%

Percentyl 11 - wyżej niż 11% wszystkich znanych CVE

Streszczenie

W platformie Endatix przed wersją 0.7.0 anonimowy endpoint POST /forms/{formId}/submissions przechowuje kontrolowane przez atakującego pole JsonData, które może zawierać obiekt pliku z adresem URL HTTP/HTTPS. Gdy pracownik z uprawnieniem submissions.view wywoła pobieranie plików, serwer wykonuje żądanie GET bez walidacji adresu docelowego, co umożliwia second-order SSRF do usług wewnętrznych, metadanych chmury i adresów loopback.

Ocena ryzyka

Atakujący może wymusić na serwerze żądania do zasobów wewnętrznych, co grozi ujawnieniem danych infrastruktury lub wykorzystaniem zaufania sieciowego; ujawnienie jest jednak pośrednie (odpowiedź trafia do ZIP przeglądanego przez pracownika).

Rekomendacja

Zaktualizuj Endatix do wersji 0.7.0 lub nowszej. Ogranicz wychodzący ruch sieciowy z serwera aplikacji i rozważ walidację adresów URL w polu JsonData po stronie aplikacji.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

Endatix is a self-hosted form and survey management platform with a headless API. Prior to 0.7.0, the anonymous `POST /forms/{formId}/submissions` endpoint stores attacker-controlled `JsonData` after checking only that the JSON is well formed. A file object with `name`, `type` and `content` fields can contain an HTTP or HTTPS URL. When a staff member with `submissions.view` permission invokes `POST /forms/{formId}/submissions/{submissionId}/files`, `GetFilesHandler` passes the stored data to `SubmissionFileExtractor` in `src/Endatix.Infrastructure/Features/Submissions/SubmissionFileExtractor.cs`, which calls `HttpClient.GetAsync` without validating the destination URL, host or resolved IP addresses against internal address ranges. This permits stored, second-order server-side GET requests to internal services, cloud metadata, loopback and link-local addresses from the server's network position. The form must have `IsPublic` and `IsEnabled` set, and an anonymous submission must pass reCAPTCHA v3 when configured. The fetched response is placed in the staff viewer's ZIP, not returned directly to the attacker, so disclosure to the attacker is blind or indirect through observable request behavior or information exposed by the viewer. No integrity or availability impact is asserted; data: and raw-base64 `content` are decoded locally without network requests. This issue is fixed in version 0.7.0.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS