CVE-2025-29788 (GCVE-0-2025-29788)

Vulnerability from cvelistv5 – Published: 2025-03-17 13:25 – Updated: 2025-03-17 14:23
VLAI?
Title
Sylius PayPal Plugin Payment Amount Manipulation Vulnerability
Summary
The Syliud PayPal Plugin is the Sylius Core Team’s plugin for the PayPal Commerce Platform. A vulnerability in versions prior to 1.6.1, 1.7.1, and 2.0.1 allows users to manipulate the final payment amount processed by PayPal. If a user modifies the item quantity in their shopping cart after initiating the PayPal Express Checkout process, PayPal will not receive the updated total amount. As a result, PayPal captures only the initially transmitted amount, while Sylius incorrectly considers the order fully paid based on the modified total. This flaw can be exploited both accidentally and intentionally, potentially enabling fraud by allowing customers to pay less than the actual order value. Attackers can intentionally pay less than the actual total order amount, business owners may suffer financial losses due to underpaid orders, and integrity of payment processing is compromised. The issue is fixed in versions 1.6.1, 1.7.1, 2.0.1, and above. To resolve the problem in the end application without updating to the newest patches, there is a need to overwrite `ProcessPayPalOrderAction`, `CompletePayPalOrderFromPaymentPageAction`, and `CaptureAction` with modified logic.
CWE
  • CWE-472 - External Control of Assumed-Immutable Web Parameter
Assigner
Impacted products
Vendor Product Version
Sylius PayPalPlugin Affected: < 1.6.1
Affected: >= 1.7, < 1.7.1
Affected: >= 2.0, < 2.0.1
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2025-29788",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2025-03-17T14:22:46.087137Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2025-03-17T14:23:42.688Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "product": "PayPalPlugin",
          "vendor": "Sylius",
          "versions": [
            {
              "status": "affected",
              "version": "\u003c 1.6.1"
            },
            {
              "status": "affected",
              "version": "\u003e= 1.7, \u003c 1.7.1"
            },
            {
              "status": "affected",
              "version": "\u003e= 2.0, \u003c 2.0.1"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "The Syliud PayPal Plugin is the Sylius Core Team\u2019s plugin for the PayPal Commerce Platform. A vulnerability in versions prior to 1.6.1, 1.7.1, and 2.0.1 allows users to manipulate the final payment amount processed by PayPal. If a user modifies the item quantity in their shopping cart after initiating the PayPal Express Checkout process, PayPal will not receive the updated total amount. As a result, PayPal captures only the initially transmitted amount, while Sylius incorrectly considers the order fully paid based on the modified total. This flaw can be exploited both accidentally and intentionally, potentially enabling fraud by allowing customers to pay less than the actual order value. Attackers can intentionally pay less than the actual total order amount, business owners may suffer financial losses due to underpaid orders, and integrity of payment processing is compromised. The issue is fixed in versions 1.6.1, 1.7.1, 2.0.1, and above. To resolve the problem in the end application without updating to the newest patches, there is a need to overwrite `ProcessPayPalOrderAction`, `CompletePayPalOrderFromPaymentPageAction`, and `CaptureAction` with modified logic."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 6.5,
            "baseSeverity": "MEDIUM",
            "confidentialityImpact": "NONE",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N",
            "version": "3.1"
          }
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-472",
              "description": "CWE-472: External Control of Assumed-Immutable Web Parameter",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-03-17T13:25:24.343Z",
        "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "shortName": "GitHub_M"
      },
      "references": [
        {
          "name": "https://github.com/Sylius/PayPalPlugin/security/advisories/GHSA-pqq3-q84h-pj6x",
          "tags": [
            "x_refsource_CONFIRM"
          ],
          "url": "https://github.com/Sylius/PayPalPlugin/security/advisories/GHSA-pqq3-q84h-pj6x"
        },
        {
          "name": "https://github.com/Sylius/PayPalPlugin/commit/31e71b0457e5d887a6c19f8cfabb8b16125ec406",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/Sylius/PayPalPlugin/commit/31e71b0457e5d887a6c19f8cfabb8b16125ec406"
        },
        {
          "name": "https://github.com/Sylius/PayPalPlugin/commit/8a81258f965b7860d4bccb52942e4c5b53e6774d",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/Sylius/PayPalPlugin/commit/8a81258f965b7860d4bccb52942e4c5b53e6774d"
        },
        {
          "name": "https://github.com/Sylius/PayPalPlugin/releases/tag/v1.6.1",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/Sylius/PayPalPlugin/releases/tag/v1.6.1"
        },
        {
          "name": "https://github.com/Sylius/PayPalPlugin/releases/tag/v1.7.1",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/Sylius/PayPalPlugin/releases/tag/v1.7.1"
        },
        {
          "name": "https://github.com/Sylius/PayPalPlugin/releases/tag/v2.0.1",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/Sylius/PayPalPlugin/releases/tag/v2.0.1"
        }
      ],
      "source": {
        "advisory": "GHSA-pqq3-q84h-pj6x",
        "discovery": "UNKNOWN"
      },
      "title": "Sylius PayPal Plugin Payment Amount Manipulation Vulnerability"
    }
  },
  "cveMetadata": {
    "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
    "assignerShortName": "GitHub_M",
    "cveId": "CVE-2025-29788",
    "datePublished": "2025-03-17T13:25:24.343Z",
    "dateReserved": "2025-03-11T14:23:00.476Z",
    "dateUpdated": "2025-03-17T14:23:42.688Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-29788\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2025-03-17T14:15:22.653\",\"lastModified\":\"2025-03-17T14:15:22.653\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"The Syliud PayPal Plugin is the Sylius Core Team\u2019s plugin for the PayPal Commerce Platform. A vulnerability in versions prior to 1.6.1, 1.7.1, and 2.0.1 allows users to manipulate the final payment amount processed by PayPal. If a user modifies the item quantity in their shopping cart after initiating the PayPal Express Checkout process, PayPal will not receive the updated total amount. As a result, PayPal captures only the initially transmitted amount, while Sylius incorrectly considers the order fully paid based on the modified total. This flaw can be exploited both accidentally and intentionally, potentially enabling fraud by allowing customers to pay less than the actual order value. Attackers can intentionally pay less than the actual total order amount, business owners may suffer financial losses due to underpaid orders, and integrity of payment processing is compromised. The issue is fixed in versions 1.6.1, 1.7.1, 2.0.1, and above. To resolve the problem in the end application without updating to the newest patches, there is a need to overwrite `ProcessPayPalOrderAction`, `CompletePayPalOrderFromPaymentPageAction`, and `CaptureAction` with modified logic.\"},{\"lang\":\"es\",\"value\":\"El complemento Syliud PayPal Plugin is the Sylius Core Team\u2019s para PayPal Commerce Platform. Una vulnerabilidad en versiones anteriores a la 1.6.1, 1.7.1 y 2.0.1 permite a los usuarios manipular el importe final del pago procesado por PayPal. Si un usuario modifica la cantidad de art\u00edculos en su carrito de compra tras iniciar el proceso de PayPal Express Checkout, PayPal no recibir\u00e1 el importe total actualizado. Como resultado, PayPal solo captura el importe transmitido inicialmente, mientras que Sylius considera err\u00f3neamente el pedido como pagado en su totalidad bas\u00e1ndose en el total modificado. Esta vulnerabilidad puede explotarse tanto accidental como intencionadamente, lo que podr\u00eda propiciar el fraude al permitir que los clientes paguen menos del valor real del pedido. Los atacantes pueden pagar intencionadamente menos del importe total del pedido, lo que puede provocar p\u00e9rdidas financieras para los empresarios debido a pedidos con pagos inferiores a los reales y comprometer la integridad del procesamiento de pagos. El problema est\u00e1 corregido en las versiones 1.6.1, 1.7.1, 2.0.1 y posteriores. Para resolver el problema en la aplicaci\u00f3n final sin actualizar a los parches m\u00e1s nuevos, es necesario sobrescribir `ProcessPayPalOrderAction`, `CompletePayPalOrderFromPaymentPageAction` y `CaptureAction` con l\u00f3gica modificada.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N\",\"baseScore\":6.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"REQUIRED\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":2.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-472\"}]}],\"references\":[{\"url\":\"https://github.com/Sylius/PayPalPlugin/commit/31e71b0457e5d887a6c19f8cfabb8b16125ec406\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/Sylius/PayPalPlugin/commit/8a81258f965b7860d4bccb52942e4c5b53e6774d\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/Sylius/PayPalPlugin/releases/tag/v1.6.1\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/Sylius/PayPalPlugin/releases/tag/v1.7.1\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/Sylius/PayPalPlugin/releases/tag/v2.0.1\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/Sylius/PayPalPlugin/security/advisories/GHSA-pqq3-q84h-pj6x\",\"source\":\"security-advisories@github.com\"}]}}",
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2025-29788\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-03-17T14:22:46.087137Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2025-03-17T14:23:38.158Z\"}}], \"cna\": {\"title\": \"Sylius PayPal Plugin Payment Amount Manipulation Vulnerability\", \"source\": {\"advisory\": \"GHSA-pqq3-q84h-pj6x\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 6.5, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N\", \"integrityImpact\": \"HIGH\", \"userInteraction\": \"REQUIRED\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"NONE\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"NONE\"}}], \"affected\": [{\"vendor\": \"Sylius\", \"product\": \"PayPalPlugin\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003c 1.6.1\"}, {\"status\": \"affected\", \"version\": \"\u003e= 1.7, \u003c 1.7.1\"}, {\"status\": \"affected\", \"version\": \"\u003e= 2.0, \u003c 2.0.1\"}]}], \"references\": [{\"url\": \"https://github.com/Sylius/PayPalPlugin/security/advisories/GHSA-pqq3-q84h-pj6x\", \"name\": \"https://github.com/Sylius/PayPalPlugin/security/advisories/GHSA-pqq3-q84h-pj6x\", \"tags\": [\"x_refsource_CONFIRM\"]}, {\"url\": \"https://github.com/Sylius/PayPalPlugin/commit/31e71b0457e5d887a6c19f8cfabb8b16125ec406\", \"name\": \"https://github.com/Sylius/PayPalPlugin/commit/31e71b0457e5d887a6c19f8cfabb8b16125ec406\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/Sylius/PayPalPlugin/commit/8a81258f965b7860d4bccb52942e4c5b53e6774d\", \"name\": \"https://github.com/Sylius/PayPalPlugin/commit/8a81258f965b7860d4bccb52942e4c5b53e6774d\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/Sylius/PayPalPlugin/releases/tag/v1.6.1\", \"name\": \"https://github.com/Sylius/PayPalPlugin/releases/tag/v1.6.1\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/Sylius/PayPalPlugin/releases/tag/v1.7.1\", \"name\": \"https://github.com/Sylius/PayPalPlugin/releases/tag/v1.7.1\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/Sylius/PayPalPlugin/releases/tag/v2.0.1\", \"name\": \"https://github.com/Sylius/PayPalPlugin/releases/tag/v2.0.1\", \"tags\": [\"x_refsource_MISC\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"The Syliud PayPal Plugin is the Sylius Core Team\\u2019s plugin for the PayPal Commerce Platform. A vulnerability in versions prior to 1.6.1, 1.7.1, and 2.0.1 allows users to manipulate the final payment amount processed by PayPal. If a user modifies the item quantity in their shopping cart after initiating the PayPal Express Checkout process, PayPal will not receive the updated total amount. As a result, PayPal captures only the initially transmitted amount, while Sylius incorrectly considers the order fully paid based on the modified total. This flaw can be exploited both accidentally and intentionally, potentially enabling fraud by allowing customers to pay less than the actual order value. Attackers can intentionally pay less than the actual total order amount, business owners may suffer financial losses due to underpaid orders, and integrity of payment processing is compromised. The issue is fixed in versions 1.6.1, 1.7.1, 2.0.1, and above. To resolve the problem in the end application without updating to the newest patches, there is a need to overwrite `ProcessPayPalOrderAction`, `CompletePayPalOrderFromPaymentPageAction`, and `CaptureAction` with modified logic.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-472\", \"description\": \"CWE-472: External Control of Assumed-Immutable Web Parameter\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2025-03-17T13:25:24.343Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2025-29788\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-03-17T14:23:42.688Z\", \"dateReserved\": \"2025-03-11T14:23:00.476Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2025-03-17T13:25:24.343Z\", \"assignerShortName\": \"GitHub_M\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…