{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "extracted_events": [
              {
                "introduced": "0"
              },
              {
                "fixed": "2.4.0"
              }
            ],
            "source": [
              "AFFECTED_FIELD",
              "REFERENCES"
            ]
          },
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "e432e4e62f5aa52238e3ff3fc37a0c78588eec47"
            },
            {
              "fixed": "e3ab12ad773749668dc64e029d265a8440e21477"
            }
          ],
          "repo": "https://github.com/invoiceshelf/invoiceshelf",
          "type": "GIT"
        }
      ]
    }
  ],
  "aliases": [
    "GHSA-wxrv-73x6-8r62"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-284",
      "CWE-639"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55387.json"
  },
  "details": "InvoiceShelf is an open-source web \u0026 mobile app that helps track expenses, payments and create professional invoices and estimates. In version 2.3.3 and earlier, InvoiceShelf bulk-delete request validation accepts record identifiers without consistently binding them to the authenticated user's company_id. The affected DeleteCustomersRequest, DeleteEstimatesRequest, DeleteExpensesRequest, DeleteInvoiceRequest, DeleteItemsRequest, DeletePaymentsRequest, and DeleteUserRequest validators check that identifiers exist but do not consistently check tenant ownership. An authenticated user can submit another company's identifier and delete cross-company records. This vulnerability is fixed in 2.4.0.",
  "id": "CVE-2026-55387",
  "modified": "2026-10-16T02:30:58.487273111Z",
  "published": "2026-10-14T19:21:49.520Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/InvoiceShelf/InvoiceShelf/releases/tag/2.4.0"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55387.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/InvoiceShelf/InvoiceShelf/security/advisories/GHSA-wxrv-73x6-8r62"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-55387"
    },
    {
      "type": "FIX",
      "url": "https://github.com/InvoiceShelf/InvoiceShelf/commit/e432e4e62f5aa52238e3ff3fc37a0c78588eec47"
    },
    {
      "type": "FIX",
      "url": "https://github.com/InvoiceShelf/InvoiceShelf/pull/661"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N",
      "type": "CVSS_V4"
    }
  ],
  "summary": "InvoiceShelf bulk deletion lacks company scoping"
}