Refine your search

1 vulnerability found for by endatix

CVE-2026-61529 (GCVE-0-2026-61529)
Vulnerability from cvelistv5
Published
2026-10-28 19:43
Modified
2026-10-28 19:43
CWE
  • CWE-918 - Server-Side Request Forgery (SSRF)
Summary
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.
Impacted products
Vendor Product Version
endatix endatix Version: < 0.7.0
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "product": "endatix",
          "vendor": "endatix",
          "versions": [
            {
              "status": "affected",
              "version": "\u003c 0.7.0"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "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\u0027s 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\u0027s 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."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 4.7,
            "baseSeverity": "MEDIUM",
            "confidentialityImpact": "LOW",
            "integrityImpact": "NONE",
            "privilegesRequired": "NONE",
            "scope": "CHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N",
            "version": "3.1"
          }
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-918",
              "description": "CWE-918: Server-Side Request Forgery (SSRF)",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-28T19:43:17.490Z",
        "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "shortName": "GitHub_M"
      },
      "references": [
        {
          "name": "https://github.com/endatix/endatix/security/advisories/GHSA-jw28-j36r-gp9m",
          "tags": [
            "x_refsource_CONFIRM"
          ],
          "url": "https://github.com/endatix/endatix/security/advisories/GHSA-jw28-j36r-gp9m"
        },
        {
          "name": "https://github.com/endatix/endatix/pull/824",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/endatix/endatix/pull/824"
        },
        {
          "name": "https://github.com/endatix/endatix/commit/795b8aed71060f11da39971b9130130f5ef49362",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/endatix/endatix/commit/795b8aed71060f11da39971b9130130f5ef49362"
        },
        {
          "name": "https://github.com/endatix/endatix/releases/tag/v0.7.0",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/endatix/endatix/releases/tag/v0.7.0"
        }
      ],
      "source": {
        "advisory": "GHSA-jw28-j36r-gp9m",
        "discovery": "UNKNOWN"
      },
      "title": "Endatix: Blind second-order SSRF via anonymous form-submission file URLs (`SubmissionFileExtractor`)"
    }
  },
  "cveMetadata": {
    "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
    "assignerShortName": "GitHub_M",
    "cveId": "CVE-2026-61529",
    "datePublished": "2026-10-28T19:43:17.490Z",
    "dateReserved": "2026-07-10T16:27:03.092Z",
    "dateUpdated": "2026-10-28T19:43:17.490Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}