Skip to content
Heist/ feed
Back to feed
High

Insufficient content-type validation for uploaded files in open-forms

Type: advisorySources: OSV

Open Forms is an application for creating and publishing smart forms. Open Forms supports file uploads as one of the form field types. These fields can be configured to allow only certain file extensions to be uploaded by end users (e.g. only PDF / Excel / ...). The input validation of uploaded files is insufficient in versions prior to 1.0.9 and 1.1.1. Users could alter or strip file extensions to bypass this validation. This results in files being uploaded to the server that are of a different file type than indicated by the file name extension. These files may be downloaded (manually or automatically) by staff and/or other applications for further processing. Malicious files can therefore find their way into internal/trusted networks. Versions 1.0.9 and 1.1.1 contain patches for this issue. As a workaround, an API gateway or intrusion detection solution in front of open-forms may be able to scan for and block malicious content before it reaches the Open Forms application.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2022-31041
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 08:55 UTC · Revision 1

Source evidence

Insufficient content-type validation for uploaded files in open-forms

core-osv · Original source

Published 13 Jun 2022, 12:35 UTC

Open Forms is an application for creating and publishing smart forms. Open Forms supports file uploads as one of the form field types. These fields can be configured to allow only certain file extensions to be uploaded by end users (e.g. only PDF / Excel / ...). The input validation of uploaded files is insufficient in versions prior to 1.0.9 and 1.1.1. Users could alter or strip file extensions to bypass this validation. This results in files being uploaded to the server that are of a different file type than indicated by the file name extension. These files may be downloaded (manually or automatically) by staff and/or other applications for further processing. Malicious files can therefore find their way into internal/trusted networks. Versions 1.0.9 and 1.1.1 contain patches for this issue. As a workaround, an API gateway or intrusion detection solution in front of open-forms may be able to scan for and block malicious content before it reaches the Open Forms application.

osv:CVE-2022-31041
Complete source record
{
  "id": "bedad16d4374c3a5edaeebbe5521fe891fa221f56b4dc1c2b89f168d27c4a575",
  "url": "https://osv.dev/vulnerability/CVE-2022-31041",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Insufficient content-type validation for uploaded files in open-forms",
    "summary": "Open Forms is an application for creating and publishing smart forms. Open Forms supports file uploads as one of the form field types. These fields can be configured to allow only certain file extensions to be uploaded by end users (e.g. only PDF / Excel / ...). The input validation of uploaded files is insufficient in versions prior to 1.0.9 and 1.1.1. Users could alter or strip file extensions to bypass this validation. This results in files being uploaded to the server that are of a different file type than indicated by the file name extension. These files may be downloaded (manually or automatically) by staff and/or other applications for further processing. Malicious files can therefore find their way into internal/trusted networks. Versions 1.0.9 and 1.1.1 contain patches for this issue. As a workaround, an API gateway or intrusion detection solution in front of open-forms may be able to scan for and block malicious content before it reaches the Open Forms application.",
    "evidence": "osv:CVE-2022-31041",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2022-31041",
      "aliases": [
        "CVE-2022-31041",
        "GHSA-h85r-xv4w-cg8g"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/open-formulieren/open-forms",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "799c4601c741b1d4d85d9d14a616ce368bf627ea"
                },
                {
                  "introduced": "82f08d9c7470a0a2423d64bba20a87c716d6a178"
                },
                {
                  "fixed": "0978a29e821a7228c5d46c0527c3e925eb91b071"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:maykinmedia:open_forms:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.0.9"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:maykinmedia:open_forms:1.1.0:-:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "1.1.0-NA"
                      },
                      {
                        "last_affected": "1.1.0-NA"
                      }
                    ],
                    "source": "CPE_STRING"
                  },
                  {
                    "range": [
                      {
                        "fixed": "0978a29e821a7228c5d46c0527c3e925eb91b071"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "1.1.0-NA",
            "1.0.8",
            "1.0.7",
            "1.0.6",
            "1.0.5",
            "1.0.4",
            "1.0.3",
            "1.0.2",
            "1.0.1",
            "1.0.0",
            "1.0.0-rc.4",
            "1.0.0-rc.3",
            "1.0.0-rc.2",
            "1.0.0-rc.1",
            "1.0.0-rc.0",
            "sprint-11",
            "sprint-10",
            "sprint-9",
            "sprint-8",
            "sprint-7",
            "mvp",
            "sprint-6",
            "sprint-5",
            "sprint-4",
            "demodam",
            "POC",
            "tag-push-test",
            "before-sdk",
            "still-functional"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-31041.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:34.415896854Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/31xxx/CVE-2022-31041.json",
        "https://github.com/open-formulieren/open-forms/security/advisories/GHSA-h85r-xv4w-cg8g",
        "https://nvd.nist.gov/vuln/detail/CVE-2022-31041",
        "https://github.com/open-formulieren/open-forms/commit/0978a29e821a7228c5d46c0527c3e925eb91b071"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-20",
          "CWE-434"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/31xxx/CVE-2022-31041.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2022-31041",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 501278,
  "published_at": "2022-06-13T12:35:11+00:00"
}