Skip to content
Heist/ feed
Back to feed
Low

FOSSBilling: Payment amount not validated in PayPalEmail adapter allows invoice underpayment

Type: advisorySources: OSV

FOSSBilling is a free, open-source billing and client management system. Prior to version 0.8.0, the PayPalEmail payment adapter accepts PayPal IPN callbacks and credits the IPN-supplied amount (`mc_gross`) to the client's balance without validating it against the invoice total. Combined with a $0.05 floating-point epsilon tolerance in the invoice credit-payment logic, this allows a client to underpay an invoice by up to $0.04 and still have it marked as fully paid. Version 0.8.0 patches the issue. There is no effective workaround without modifying the source code. Merchants using the PayPalEmail adapter should monitor IPN transactions for amounts that do not match their corresponding invoice totals, and manually review and refund suspicious payments.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-43928
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 15:49 UTC · Revision 1

Source evidence

FOSSBilling: Payment amount not validated in PayPalEmail adapter allows invoice underpayment

core-osv · Original source

Published 6 Jul 2026, 21:53 UTC

FOSSBilling is a free, open-source billing and client management system. Prior to version 0.8.0, the PayPalEmail payment adapter accepts PayPal IPN callbacks and credits the IPN-supplied amount (`mc_gross`) to the client's balance without validating it against the invoice total. Combined with a $0.05 floating-point epsilon tolerance in the invoice credit-payment logic, this allows a client to underpay an invoice by up to $0.04 and still have it marked as fully paid. Version 0.8.0 patches the issue. There is no effective workaround without modifying the source code. Merchants using the PayPalEmail adapter should monitor IPN transactions for amounts that do not match their corresponding invoice totals, and manually review and refund suspicious payments.

osv:CVE-2026-43928
Complete source record
{
  "id": "99fca1623ec4c104cc88f3e7a3d4bc478bac645dd10f517e764d37c62fcfcc39",
  "url": "https://osv.dev/vulnerability/CVE-2026-43928",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "FOSSBilling: Payment amount not validated in PayPalEmail adapter allows invoice underpayment",
    "summary": "FOSSBilling is a free, open-source billing and client management system. Prior to version 0.8.0, the PayPalEmail payment adapter accepts PayPal IPN callbacks and credits the IPN-supplied amount (`mc_gross`) to the client's balance without validating it against the invoice total. Combined with a $0.05 floating-point epsilon tolerance in the invoice credit-payment logic, this allows a client to underpay an invoice by up to $0.04 and still have it marked as fully paid. Version 0.8.0 patches the issue. There is no effective workaround without modifying the source code. Merchants using the PayPalEmail adapter should monitor IPN transactions for amounts that do not match their corresponding invoice totals, and manually review and refund suspicious payments.",
    "evidence": "osv:CVE-2026-43928",
    "products": [],
    "severity": "low",
    "structured": {
      "id": "CVE-2026-43928",
      "aliases": [
        "CVE-2026-43928",
        "GHSA-xjc6-g382-h942"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/fossbilling/fossbilling",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "3bd35f5b2921d8a26a403142ae0408f95e6463cc"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.8.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.8.0"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "0.7.2",
            "0.7.1",
            "0.7.0",
            "0.6.22",
            "0.6.21",
            "0.6.20",
            "0.6.19",
            "0.6.18",
            "0.6.17",
            "0.6.16",
            "0.6.15",
            "0.6.14",
            "0.6.13",
            "0.6.12",
            "0.6.11",
            "0.6.10",
            "0.6.9",
            "0.6.8",
            "0.6.7",
            "0.6.6",
            "0.6.5",
            "0.6.4",
            "0.6.3",
            "0.6.2",
            "0.6.1",
            "0.6.0",
            "0.5.5",
            "0.5.4",
            "0.5.3",
            "0.5.2",
            "0.5.1",
            "0.5.0",
            "0.4.3",
            "0.4.2",
            "0.4.1",
            "0.4.0",
            "0.3.0",
            "0.2.10",
            "0.2.9",
            "0.2.8",
            "0.2.7",
            "0.2.6",
            "0.2.5",
            "0.2.4",
            "0.2.3",
            "0.2.2",
            "0.2.1",
            "0.2.0",
            "0.1.1",
            "0.1.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-43928.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:37.047891411Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/43xxx/CVE-2026-43928.json",
        "https://github.com/FOSSBilling/FOSSBilling/security/advisories/GHSA-xjc6-g382-h942",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-43928"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-1284",
          "CWE-754"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/43xxx/CVE-2026-43928.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-43928",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 504268,
  "published_at": "2026-07-06T21:53:31.172+00:00"
}