Search

Find a vulnerability

Search criteria

    1 vulnerability found for pympp by tempoxyz

    CVE-2026-63634 (GCVE-0-2026-63634)

    Vulnerability from cvelistv5 – Published: 2026-11-09 20:59 – Updated: 2026-11-09 20:59
    VLAI
    Title
    pympp: Gas Draining with padding
    Summary
    pympp is a Python SDK for the Machine Payments Protocol. Prior to version 0.9.1, when the server acts as the fee_payer, pympp validates calldata using eth_abi decoding, which is lenient about trailing bytes. The FeePayerPolicy caps gas_limit (≤ 2 M) and max_fee_per_gas (≤ 100 Gwei) but does not check calldata length. Tempo uses legacy calldata gas pricing: 16 gas per non-zero byte. Appending N bytes of 0x01 padding inflates actual gas used by N × 16 while keeping gas_limit and max_fee_per_gas within policy caps. The server cosigns and broadcasts the padded transaction, draining its fee-payer wallet. This issue has been patched in version 0.9.1.
    CWE
    • CWE-20 - Improper Input Validation
    Assigner
    GitHub_M CNA
    Impacted products
    Vendor Product Version
    tempoxyz pympp Affected: < 0.9.1
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "product": "pympp",
              "vendor": "tempoxyz",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 0.9.1"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "pympp is a Python SDK for the Machine Payments Protocol. Prior to version 0.9.1, when the server acts as the fee_payer, pympp validates calldata using eth_abi decoding, which is lenient about trailing bytes. The FeePayerPolicy caps gas_limit (\u2264 2 M) and max_fee_per_gas (\u2264 100 Gwei) but does not check calldata length. Tempo uses legacy calldata gas pricing: 16 gas per non-zero byte. Appending N bytes of 0x01 padding inflates actual gas used by N \u00d7 16 while keeping gas_limit and max_fee_per_gas within policy caps. The server cosigns and broadcasts the padded transaction, draining its fee-payer wallet. This issue has been patched in version 0.9.1."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 6.9,
                "baseSeverity": "MEDIUM",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "LOW"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-20",
                  "description": "CWE-20: Improper Input Validation",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-09T20:59:55.768Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/tempoxyz/pympp/security/advisories/GHSA-v858-xh7w-8jr5",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/tempoxyz/pympp/security/advisories/GHSA-v858-xh7w-8jr5"
            },
            {
              "name": "https://github.com/tempoxyz/pympp/commit/57a750d0d980b8e6c3bea62a40b7621f176ff1f0",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/tempoxyz/pympp/commit/57a750d0d980b8e6c3bea62a40b7621f176ff1f0"
            },
            {
              "name": "https://github.com/tempoxyz/pympp/releases/tag/v0.9.1",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/tempoxyz/pympp/releases/tag/v0.9.1"
            }
          ],
          "source": {
            "advisory": "GHSA-v858-xh7w-8jr5",
            "discovery": "UNKNOWN"
          },
          "title": "pympp: Gas Draining with padding"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-63634",
        "datePublished": "2026-11-09T20:59:55.768Z",
        "dateReserved": "2026-07-17T14:11:15.482Z",
        "dateUpdated": "2026-11-09T20:59:55.768Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }