BomboBombone.exe
ARCHITECTURE:x86-64
BACK
.WEB.PAYXenForo / Payments
08 Sept 2026 · 3 min
XenForo / Payments · 08 Sept 2026

CVE-2026-73314: PayPal signature check bypass

An unsupported PayPal signature algorithm caused webhook verification to return success.

POST VIEWTEXT / UTF-8
ADDRESS MARKDOWN BYTES

XenForo 2.3.12 build 2031270 treated an unsupported PayPal webhook signature algorithm as a successful verification. A forged PAYMENT.CAPTURE.COMPLETED callback extended a recurring user upgrade without a PayPal signing key.

Technical details

PayPalRest::verifyWebhookSignature() mapped PAYPAL-AUTH-ALGO through an allowlist containing SHA256withRSA. An unknown value left the OpenSSL algorithm unset. That branch logged that verification had been skipped and returned true, allowing the webhook handler to process the event.

The relevant header was:

PAYPAL-AUTH-ALGO: definitely-not-a-real-algorithm

Reproduction

  1. Create an active PayPal REST recurring user upgrade.
  2. Build a PAYMENT.CAPTURE.COMPLETED callback for that purchase context.
  3. Set PAYPAL-AUTH-ALGO to an unsupported value and send the callback without a valid PayPal signature.
  4. Check the user’s upgrade expiry date.

The callback returned success and extended the recurring upgrade by 30 days. The purchase values used by the callback were available to the buyer through the upgrade and cancellation flows.

Impact

A buyer could forge a completed-payment callback for their purchase context and extend the related user upgrade without a valid PayPal signature.

XenForo 2.3.13 rejects unsupported algorithms and unavailable cryptographic verification.

References

1758 UTF-8 BYTES .WEB.PAY · ADDRESSES ARE UTF-8 BYTE OFFSETS

Resize column

Choose a width with the slider or the narrower and wider buttons.