PT-2026-85010 · J2Store · J2Store
CVE-2026-77999
·
Published
2026-09-03
·
Updated
2026-09-03
CVSS v4.0
8.7
High
| Vector | AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Name of the Vulnerable Software and Affected Versions
J2Store versions 1.0.0 through 3.3.21
J2Store versions 4.0.0 through 4.0.21
J2Store versions 4.1.0 through 4.1.6
Description
An unauthenticated PayPal callback forgery allows for order confirmation fraud. The PayPal IPN listener's signature check function
validateIPN() incorrectly accepts UNVERIFIED and any response that is not INVALID as valid. Additionally, the verification request is made with CURLOPT SSL VERIFYPEER disabled, and the resulting verdict is stored in a field that is not checked by downstream processes, allowing processing to continue regardless of the outcome. Furthermore, the paid-amount comparison only occurs when the mc gross variable is a positive number; omitting this field from the POST body skips the check entirely. By using a merchant-configured receiver email and a sequential, enumerable order ID from the custom field, an anonymous POST request can move a pending order to CONFIRMED without payment or change another customer's pending order to FAILED. The paypalv2.php file performs no amount check under any circumstances.Recommendations
Update J2Store to a version newer than 3.3.21.
Update J2Store to a version newer than 4.0.21.
Update J2Store to a version newer than 4.1.6.
Fix
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
J2Store