
Prueba de concepto del exploit para CVE-2026-73314, una omisión de verificación de firma del webhook REST de PayPal en XenForo anterior a 2.3.13, que permite la finalización no autorizada de compras.
XenForo anterior a 2.3.13 falla abiertamente cuando un webhook REST de PayPal menciona un algoritmo de firma no compatible.
El manejador del webhook asigna PAYPAL-AUTH-ALGO a través de una pequeña lista de permitidos. Si el valor es desconocido, el algoritmo asignado se convierte en null. En lugar de rechazar la solicitud, la ruta de verificación registra que el algoritmo no está disponible y devuelve éxito. La obtención de certificados y openssl_verify() nunca se alcanzan.
Con una actualización recurrente REST de PayPal activa, un comprador puede obtener la clave de solicitud de compra desde sus propios controles de actualización recurrente. Una devolución de llamada falsificada de PAYMENT.CAPTURE.COMPLETED que contenga esa clave, el monto/moneda mostrados y un algoritmo no compatible puede llegar a la finalización normal de la compra sin una firma válida de PayPal.
Reproduje una extensión de derecho de 30 días en XenForo 2.3.12 (build 2031270). El PoC no apunta a una cuenta de pago real y debe usarse solo con una actualización desechable en una instalación aislada. XenForo 2.3.13 contiene la corrección.
python poc.py https://xenforo.example DISPOSABLE_REQUEST_KEY 10.00 USD
El script crea un evento sintético y reporta solo el estado HTTP. Una instalación corregida debería rechazarlo.
Descubierto por Marco Paciaroni (BomboBombone).