Skip to content
Heist/ feed
Back to feed
Low

Thelia before 3.1.2 and 3.2.x before 3.2.1 CSV Formula Injection via Exports

Type: advisorySources: OSV

Thelia before 3.1.2 and 3.2.x before 3.2.1 contains a CSV formula injection vulnerability that allows unauthenticated visitors to inject spreadsheet formulas by supplying crafted registration, checkout or newsletter fields. Attackers can submit names, addresses or phone values starting with =, +, - or @ that CSVSerializer exports verbatim, executing formulas in the administrator's spreadsheet application.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-109396
Confirmed fixed CVEs
Not specified
Updated in this feed
5 Nov 2026, 23:55 UTC · Revision 1

Source evidence

Thelia before 3.1.2 and 3.2.x before 3.2.1 CSV Formula Injection via Exports

core-osv · Original source

Published 12 Oct 2026, 15:16 UTC

Thelia before 3.1.2 and 3.2.x before 3.2.1 contains a CSV formula injection vulnerability that allows unauthenticated visitors to inject spreadsheet formulas by supplying crafted registration, checkout or newsletter fields. Attackers can submit names, addresses or phone values starting with =, +, - or @ that CSVSerializer exports verbatim, executing formulas in the administrator's spreadsheet application.

osv:CVE-2026-109396
Complete source record
{
  "id": "14cc7e47a48a2a03fbb063f3dd98c73160e11f4d1c7955aa509107bdde1a9b56",
  "url": "https://osv.dev/vulnerability/CVE-2026-109396",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Thelia before 3.1.2 and 3.2.x before 3.2.1 CSV Formula Injection via Exports",
    "summary": "Thelia before 3.1.2 and 3.2.x before 3.2.1 contains a CSV formula injection vulnerability that allows unauthenticated visitors to inject spreadsheet formulas by supplying crafted registration, checkout or newsletter fields. Attackers can submit names, addresses or phone values starting with =, +, - or @ that CSVSerializer exports verbatim, executing formulas in the administrator's spreadsheet application.",
    "evidence": "osv:CVE-2026-109396",
    "products": [],
    "severity": "low",
    "structured": {
      "id": "CVE-2026-109396",
      "aliases": [
        "CVE-2026-109396",
        "GHSA-gcgv-f8rf-w2wc"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/thelia/thelia",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "d589573261ee9a41db6386375f3beb9f610c5ffd"
                },
                {
                  "introduced": "cdff8e3d89985d880a3605ebd6bc585780583d92"
                },
                {
                  "fixed": "72a72e442b7a15a54eb2991758e1066b58cfab1e"
                },
                {
                  "fixed": "c00a26f0631ed9de3c4466176db6e808a25034aa"
                },
                {
                  "fixed": "6e46059225d87565caf4859ec0f764354e82ce95"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.1.2"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "3.2.0"
                      },
                      {
                        "fixed": "3.2.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "fixed": "c00a26f0631ed9de3c4466176db6e808a25034aa"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "6e46059225d87565caf4859ec0f764354e82ce95"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "d589573261ee9a41db6386375f3beb9f610c5ffd"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "3.1.2"
                  },
                  {
                    "range": [
                      {
                        "fixed": "72a72e442b7a15a54eb2991758e1066b58cfab1e"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "3.2.1"
                  }
                ]
              }
            }
          ],
          "versions": [
            "3.1.1",
            "3.2.0",
            "3.1.0",
            "3.0.0",
            "3.0.0-beta5",
            "3.0.0-beta4",
            "3.0.0-beta3",
            "3.0.0-beta1",
            "2.5.4",
            "2.5.3",
            "2.5.2",
            "2.5.1",
            "2.5.0",
            "2.5.0-alpha2",
            "2.5.0-alpha1",
            "2.4.4",
            "2.4.3",
            "2.4.2",
            "2.4.1",
            "2.4.0",
            "2.4.0-alpha1",
            "2.3.0",
            "2.3.0-beta2",
            "2.3.0-beta1",
            "2.3.0-alpha2",
            "2.3.0-alpha1",
            "2.2.0",
            "2.2.0-beta3",
            "2.2.0-beta2",
            "2.2.0-beta1",
            "2.2.0-alpha2",
            "2.2.0-alpha1",
            "2.1.1",
            "2.1.0",
            "2.1.0-beta2",
            "2.1.0-beta1",
            "2.1.0-alpha2",
            "2.1.0-alpha1",
            "2.0.3-beta2",
            "2.0.3-beta",
            "2.0.2",
            "2.0.1",
            "2.0.0",
            "2.0.0-RC1",
            "2.0.0-beta2",
            "2.0.0-beta1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-109396.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:45.223532816Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/109xxx/CVE-2026-109396.json",
        "https://github.com/thelia/thelia/releases/tag/3.1.2",
        "https://github.com/thelia/thelia/releases/tag/3.2.1",
        "https://github.com/thelia/thelia/security/advisories/GHSA-gcgv-f8rf-w2wc",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-109396",
        "https://www.vulncheck.com/advisories/thelia-before-3.1.2-and-3.2-x-before-3.2.1-csv-formula-injection-via-exports",
        "https://github.com/thelia/thelia/commit/6e46059225d87565caf4859ec0f764354e82ce95",
        "https://github.com/thelia/thelia/commit/c00a26f0631ed9de3c4466176db6e808a25034aa",
        "https://github.com/thelia/thelia",
        "https://github.com/thelia/thelia/blob/3.2.0/core/lib/Thelia/Core/Serializer/Serializer/CSVSerializer.php"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-1236"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/109xxx/CVE-2026-109396.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-109396",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 513252,
  "published_at": "2026-10-12T15:16:41.909+00:00"
}