Skip to content
Heist/ feed
Back to feed
Medium

InvoicePlane: Missing CSRF Token Validation on Multiple Delete Endpoints

Type: advisorySources: OSV

InvoicePlane is a self-hosted open source application for managing invoices, clients, and payments. Prior to 1.7.2, InvoicePlane omits ensure_valid_post_request() from delete methods including Payments::delete(), Recurring::delete(), and User_clients::delete(). Although the routes require POST, they do not validate the request's CSRF token. An attacker can submit a cross-origin form through an authenticated administrator's browser to delete financial records and other application data. This issue is fixed in version 1.7.2.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-85289
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 13:16 UTC · Revision 1

Source evidence

InvoicePlane: Missing CSRF Token Validation on Multiple Delete Endpoints

core-osv · Original source

Published 25 Sept 2026, 15:26 UTC

InvoicePlane is a self-hosted open source application for managing invoices, clients, and payments. Prior to 1.7.2, InvoicePlane omits ensure_valid_post_request() from delete methods including Payments::delete(), Recurring::delete(), and User_clients::delete(). Although the routes require POST, they do not validate the request's CSRF token. An attacker can submit a cross-origin form through an authenticated administrator's browser to delete financial records and other application data. This issue is fixed in version 1.7.2.

osv:CVE-2026-85289
Complete source record
{
  "id": "fb960cfda18327a74367cfab35524e27117cc86eb794e66483d2d1888b913317",
  "url": "https://osv.dev/vulnerability/CVE-2026-85289",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "InvoicePlane: Missing CSRF Token Validation on Multiple Delete Endpoints",
    "summary": "InvoicePlane is a self-hosted open source application for managing invoices, clients, and payments. Prior to 1.7.2, InvoicePlane omits ensure_valid_post_request() from delete methods including Payments::delete(), Recurring::delete(), and User_clients::delete(). Although the routes require POST, they do not validate the request's CSRF token. An attacker can submit a cross-origin form through an authenticated administrator's browser to delete financial records and other application data. This issue is fixed in version 1.7.2.",
    "evidence": "osv:CVE-2026-85289",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-85289",
      "aliases": [
        "CVE-2026-85289",
        "GHSA-9372-vj68-hmc3"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/invoiceplane/invoiceplane",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "aaeea1e4825785c6138fa84be49ac373bac4f0af"
                },
                {
                  "fixed": "215b8c1acca7560d00b7e463fb1c6fe98235ab95"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.7.2"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "215b8c1acca7560d00b7e463fb1c6fe98235ab95"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "aaeea1e4825785c6138fa84be49ac373bac4f0af"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v1.7.2"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v1.7.2-rc-2",
            "v1.7.2-rc-1",
            "v1.7.2-beta-1",
            "v1.6.5",
            "v1.6.4-beta-1",
            "v1.6.3",
            "v1.6.3-rc2",
            "v1.6.3-rc1",
            "v1.6.3-rc0",
            "v1.6.2-beta-3",
            "v1.6.2-beta-2",
            "v1.6.2-beta-1",
            "v1.6.1",
            "v1.6.0",
            "v1.6.1-beta-3",
            "v1.6.1-beta-2",
            "v1.6.1-beta-1",
            "v1.6.1-alpha-1",
            "v1.6-beta-3",
            "v1.6-beta-2",
            "v1.6-beta-1",
            "v1.6-beta",
            "v1.5.10",
            "v1.5.9",
            "v1.5.8",
            "v1.5.7",
            "v1.5.6",
            "v1.5.5",
            "v1.5.4",
            "v1.5.3",
            "v1.5.2",
            "v1.5.1",
            "v1.5.0",
            "v1.4.10",
            "v1.4.9",
            "v1.4.8",
            "v1.4.7",
            "v1.4.6",
            "v1.4.5",
            "v1.4.4",
            "v1.4.3",
            "v1.4.2",
            "v1.4.1",
            "v1.4.0",
            "v1.2.0",
            "v1.1.0",
            "v1.0.1",
            "v1.0.0",
            "0.9beta"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-85289.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:28.930645793Z",
      "provider": "osv",
      "references": [
        "https://github.com/InvoicePlane/InvoicePlane/releases/tag/v1.7.2",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/85xxx/CVE-2026-85289.json",
        "https://github.com/InvoicePlane/InvoicePlane/security/advisories/GHSA-9372-vj68-hmc3",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-85289",
        "https://github.com/InvoicePlane/InvoicePlane/commit/215b8c1acca7560d00b7e463fb1c6fe98235ab95",
        "https://github.com/InvoicePlane/InvoicePlane/pull/1637"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-352"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/85xxx/CVE-2026-85289.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-85289",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 495781,
  "published_at": "2026-09-25T15:26:22.73+00:00"
}