{"id":"CVE-2026-126543","kind":"vulnerability","aliases":["CVE-2026-126543"],"related":[],"title":"WWBN AVideo: forged PayPal payment notices credit user wallets","description":"WWBN AVideo through 29.7.1 contains an improper payment verification vulnerability in plugin/PayPalYPT/ipnV2.php that credits wallets from PayPal IPNs not bound to the site's merchant account. Unauthenticated attackers can forward genuine VERIFIED recurring-payment IPNs from their own PayPal account with a chosen users_id to add wallet balance each billing cycle.","summary":"AVideo's PayPal IPN handler in plugin/PayPalYPT/ipnV2.php credits wallet balances from PayPal notices that are not checked against the site's own merchant account. An unauthenticated attacker can forward a genuine recurring-payment notice from their own PayPal account with a chosen user ID and add wallet balance each billing cycle.","severity":"high","cvss":8.7,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"wwbn/avideo","fixed":[],"affected":"<= 29.7.1","ecosystem":"composer"}],"ecosystems":[],"tags":["avideo","other","payments","paypal","php","self-hosted"],"not_affected_if":["no-paypal-plugin","no-paypal-wallet","paypal-sandbox-only","plugin-disabled"],"how_to_check":"- Check the AVideo version: 29.7.1 or earlier is affected.\n- Check that the PayPalYPT and YPTWallet plugins are enabled with live PayPal payments (sandbox off); the attack needs this.\n- Open plugin/PayPalYPT/ipnV2.php: if it never compares receiver_email/receiver_id to your merchant account and does not call findAgreementOwner, it is vulnerable.\n- Review YPTWallet history for unexpected 'PayPal Subscription from token' credits.","fix":"No patched release listed in the GitHub advisory (patched versions: none). Fix commit 98406b7 is on master; deploy from master at or after that commit, or disable the PayPalYPT plugin until a release ships.","status":"open","published_at":"2026-11-11T01:17:15+00:00","first_seen_at":"2026-11-11T01:24:34+00:00","triaged_at":"2026-11-11T01:25:45+00:00","updated_at":"2026-11-11T01:26:14+00:00","category":"other","confidence":0.8,"triage":{"at":"2026-11-11T01:25:45Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"WWBN AVideo: forged PayPal payment notices credit user wallets","impact":"medium","summary":"AVideo's PayPal IPN handler in plugin/PayPalYPT/ipnV2.php credits wallet balances from PayPal notices that are not checked against the site's own merchant account. An unauthenticated attacker can forward a genuine recurring-payment notice from their own PayPal account with a chosen user ID and add wallet balance each billing cycle.","audience":"businesses","category":"other","nicknames":[],"who_cares":["avideo","paypal","payments","php"],"confidence":0.6,"fix_status":"unknown","needs_auth":"no","worst_case":"attacker adds wallet balance to any chosen user account","analyst_note":"Confirm the fixed AVideo version and the vendor advisory text at the linked GitHub advisory; sources give no fixed version or setting.","how_to_check":"- Check whether the AVideo install is `29.7.1` or earlier.\n- Look for `plugin/PayPalYPT/ipnV2.php` in the web root and review how it verifies the receiver account before crediting a wallet.\n- unknown for any other check, as the sources do not say.","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":["plugin-disabled","no-paypal-wallet"],"who_is_affected":"AVideo sites running version 29.7.1 or earlier with the PayPalYPT plugin in use, where PayPal payments credit user wallets. Sites that do not use the PayPal plugin for wallet top-ups are not described as exposed by the sources. The sources do not say whether the flaw is limited to recurring payments beyond the example given.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000787,"input_tokens":4657,"output_tokens":643,"severity_before":"high"},"analyst_status":"done","analyst_note":"Confirm the fixed AVideo version and the vendor advisory text at the linked GitHub advisory; sources give no fixed version or setting.","search":"'-126543':12A,15A '-2026':11A,14A '29.7.1':80C 'account':48B,64B,102C,117C 'add':71B,124C 'attack':51B,104C 'avideo':2A,17B,25B,78C 'balanc':34B,73B,126C 'bill':75B,128C 'bound':96C 'check':41B 'chosen':67B,120C 'contain':81C 'credit':7A,32B,90C 'cve':10A,13A 'cycl':76B,129C 'forg':3A 'forward':53B,106C 'genuin':55B,107C 'handler':29B 'host':24B 'id':69B,122C 'improp':83C 'ipn':28B,94C,112C 'merchant':47B,101C 'notic':6A,37B,59B 'payment':5A,19B,58B,84C,111C 'paypal':4A,20B,27B,36B,63B,93C,116C 'php':21B 'plugin/paypalypt/ipnv2.php':31B,88C 'recur':57B,110C 'recurring-pay':56B,109C 'self':23B 'self-host':22B 'site':44B,99C 'unauthent':50B,103C 'user':8A,68B,121C 'verif':85C 'verifi':108C 'vulner':86C 'wallet':9A,33B,72B,91C,125C 'wwbn':1A,77C 'wwbn/avideo':16A","nicknames":[],"mitigations":[],"who_affected":"AVideo sites (WWBN/AVideo, Composer) at 29.7.1 or earlier that run the PayPalYPT and YPTWallet plugins with live PayPal payments. No AVideo account is needed to attack; the attacker forwards a genuine PayPal recurring-payment notice from their own merchant account with a chosen users_id. Sites without PayPalYPT enabled, or only in sandbox mode, can skip it.","tier":"B","verified":{"fix":{"at":"2026-11-11T01:26:14Z","by":"analyst","doc":"https://github.com/WWBN/AVideo/commit/98406b7944e035e72082665ac886d78fc3af0a7f","run_id":3491},"products":{"at":"2026-11-11T01:26:14Z","by":"analyst","doc":"https://github.com/WWBN/AVideo/commit/98406b7944e035e72082665ac886d78fc3af0a7f","run_id":3491},"who_affected":{"at":"2026-11-11T01:26:14Z","by":"analyst","doc":"https://github.com/WWBN/AVideo/commit/98406b7944e035e72082665ac886d78fc3af0a7f","run_id":3491}},"analyst_revisit_at":null,"fix_status":"none","audience":"businesses","plain_action":null,"pkeys":["wwbnavideo"],"ptokens":["avideo","wwbn"],"labels":["avideo","high","other","payments","paypal","php","selfhosted"],"campaign_type":null,"search_a":"'-126543':12A,15A '-2026':11A,14A 'avideo':2A 'credit':7A 'cve':10A,13A 'forg':3A 'notic':6A 'payment':5A 'paypal':4A 'user':8A 'wallet':9A 'wwbn':1A 'wwbn/avideo':16A","search_b":"'account':48B,64B 'add':71B 'attack':51B 'avideo':17B,25B 'balanc':34B,73B 'bill':75B 'check':41B 'chosen':67B 'credit':32B 'cycl':76B 'forward':53B 'genuin':55B 'handler':29B 'host':24B 'id':69B 'ipn':28B 'merchant':47B 'notic':37B,59B 'payment':19B,58B 'paypal':20B,27B,36B,63B 'php':21B 'plugin/paypalypt/ipnv2.php':31B 'recur':57B 'recurring-pay':56B 'self':23B 'self-host':22B 'site':44B 'unauthent':50B 'user':68B 'wallet':33B,72B","search_c":"'29.7.1':80C 'account':102C,117C 'add':124C 'attack':104C 'avideo':78C 'balanc':126C 'bill':128C 'bound':96C 'chosen':120C 'contain':81C 'credit':90C 'cycl':129C 'forward':106C 'genuin':107C 'id':122C 'improp':83C 'ipn':94C,112C 'merchant':101C 'payment':84C,111C 'paypal':93C,116C 'plugin/paypalypt/ipnv2.php':88C 'recur':110C 'recurring-pay':109C 'site':99C 'unauthent':103C 'user':121C 'verif':85C 'verifi':108C 'vulner':86C 'wallet':91C,125C 'wwbn':77C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-09T17:59:26+00:00","kev":null,"cvss_vector":"CVSS:4.0/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","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-126543","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-126543","severity":null,"published_at":"2026-11-11T01:17:15+00:00","modified_at":"2026-11-11T01:17:15+00:00","first_seen_at":"2026-11-11T01:24:34+00:00","fetched_at":"2026-11-11T01:24:34+00:00","note":null},{"source":"analyst","external_id":"CVE-2026-126543:3491","url":null,"severity":null,"published_at":"2026-11-11T01:26:14+00:00","modified_at":"2026-11-11T01:26:14+00:00","first_seen_at":"2026-11-11T01:26:14+00:00","fetched_at":"2026-11-11T01:26:14+00:00","note":"Read GHSA-5gg3-9jhh-xf86: affected <=29.7.1, patched versions None; fix commit 98406b7 (2026-11-09) on master reworks ipnV2.php, no release tag with it seen. Exploit needs live PayPal + YPTWallet and PayPalYPT enabled; advisory has PoC (stubbed, in-advisory)."}],"documents":[{"id":121297,"url":"https://github.com/WWBN/AVideo/commit/98406b7944e035e72082665ac886d78fc3af0a7f","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":121298,"url":"https://github.com/WWBN/AVideo/security/advisories/GHSA-5gg3-9jhh-xf86","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-11-09T17:59:26+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":121299,"url":"https://www.vulncheck.com/advisories/wwbn-avideo-through-29.7.1-wallet-credit-manipulation-via-paypalypt-ipnv2-php","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.com"}],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}