{"id":"CVE-2026-77168","kind":"vulnerability","aliases":["CVE-2026-77168"],"related":[],"title":"Revive Adserver: forged requests can change tracker names and advertiser assignments","description":"A cross-site request forgery vulnerability in tracker-invocation.php in Revive Adserver 6.0.8 and earlier allows an attacker to modify a tracker's name, description or advertiser assignment using an authenticated victim's permissions. A leftover state-changing handler accepts request parameters without verifying a CSRF token, although it is not used by the normal invocation-tag interface. Exploitation requires victim interaction and a request path that carries the victim's session credentials. The issue is fixed in Revive Adserver 6.0.9 by removing the unused tracker-modification handler.","summary":"A leftover handler in tracker-invocation.php accepts changes to a tracker's name, description or advertiser assignment without checking a CSRF token. An attacker who tricks a logged-in administrator into visiting a malicious page can make those changes using the victim's permissions.","severity":"medium","cvss":4.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","php","revive-adserver","self-hosted"],"not_affected_if":["managed-hosting","version-6.0.9-or-later"],"how_to_check":"- Check the installed Revive Adserver version, for example by reading the version in the admin interface or the package metadata, and compare it with `6.0.9`.\n- Look for `tracker-invocation.php` in the install and confirm whether the tracker-modification handler is present.","fix":"- Revive Adserver: upgrade to `6.0.9`, which removes the unused tracker-modification handler.","status":"open","published_at":"2026-11-11T18:19:49+00:00","first_seen_at":"2026-11-11T18:28:43+00:00","triaged_at":"2026-11-11T18:29:46+00:00","updated_at":"2026-11-11T18:29:46+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-11-11T18:29:46Z","model":"claude-haiku-5-5","output":{"fix":"- Revive Adserver: upgrade to `6.0.9`, which removes the unused tracker-modification handler.","reach":"internet","title":"Revive Adserver: forged requests can change tracker names and advertiser assignments","impact":"low","summary":"A leftover handler in tracker-invocation.php accepts changes to a tracker's name, description or advertiser assignment without checking a CSRF token. An attacker who tricks a logged-in administrator into visiting a malicious page can make those changes using the victim's permissions.","audience":"businesses","category":"package","nicknames":[],"who_cares":["revive-adserver","self-hosted","php"],"confidence":0.8,"fix_status":"available","needs_auth":"yes","worst_case":"tracker names, descriptions and advertiser assignments changed via victim's session","analyst_note":"","how_to_check":"- Check the installed Revive Adserver version, for example by reading the version in the admin interface or the package metadata, and compare it with `6.0.9`.\n- Look for `tracker-invocation.php` in the install and confirm whether the tracker-modification handler is present.","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["version-6.0.9-or-later","managed-hosting"],"who_is_affected":"Teams that run Revive Adserver 6.0.8 or earlier as a self-hosted ad server. The flaw needs an authenticated administrator to be tricked into following a link or loading a page, so exposure is lower where admin users are few and trained to avoid untrusted links. The normal invocation-tag interface does not use the vulnerable handler.","user_interaction":"yes","product_ecosystem":"","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.00076,"input_tokens":4655,"output_tokens":589,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-77168':14A,17A '6.0.8':82C '6.0.9':152C 'accept':31B,110C 'administr':55B 'adserv':2A,22B,81C,151C 'advertis':10A,40B,96C 'allow':85C 'although':118C 'assign':11A,41B,97C 'attack':48B,87C 'authent':100C 'carri':139C 'chang':6A,32B,64B,108C 'check':43B 'credenti':144C 'cross':72C 'cross-sit':71C 'csrf':45B,116C 'cve':12A,15A 'descript':38B,94C 'earlier':84C 'exploit':130C 'fix':148C 'forg':3A 'forgeri':75C 'handler':28B,109C,160C 'host':25B 'interact':133C 'interfac':129C 'invoc':127C 'invocation-tag':126C 'issu':146C 'leftov':27B,105C 'log':53B 'logged-in':52B 'make':62B 'malici':59B 'modif':159C 'modifi':89C 'name':8A,37B,93C 'normal':125C 'packag':18B 'page':60B 'paramet':112C 'path':137C 'permiss':69B,103C 'php':19B 'remov':154C 'request':4A,74C,111C,136C 'requir':131C 'reviv':1A,21B,80C,150C 'revive-adserv':20B 'self':24B 'self-host':23B 'session':143C 'site':73C 'state':107C 'state-chang':106C 'tag':128C 'token':46B,117C 'tracker':7A,35B,91C,158C 'tracker-invocation.php':30B,78C 'tracker-modif':157C 'trick':50B 'unus':156C 'use':65B,98C,122C 'verifi':114C 'victim':67B,101C,132C,141C 'visit':57B 'vulner':76C 'without':42B,113C","nicknames":[],"mitigations":[],"who_affected":"Teams that run Revive Adserver 6.0.8 or earlier as a self-hosted ad server. The flaw needs an authenticated administrator to be tricked into following a link or loading a page, so exposure is lower where admin users are few and trained to avoid untrusted links. The normal invocation-tag interface does not use the vulnerable handler.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["medium","package","php","reviveadserver","selfhosted"],"campaign_type":null,"search_a":"'-2026':13A,16A '-77168':14A,17A 'adserv':2A 'advertis':10A 'assign':11A 'chang':6A 'cve':12A,15A 'forg':3A 'name':8A 'request':4A 'reviv':1A 'tracker':7A","search_b":"'accept':31B 'administr':55B 'adserv':22B 'advertis':40B 'assign':41B 'attack':48B 'chang':32B,64B 'check':43B 'csrf':45B 'descript':38B 'handler':28B 'host':25B 'leftov':27B 'log':53B 'logged-in':52B 'make':62B 'malici':59B 'name':37B 'packag':18B 'page':60B 'permiss':69B 'php':19B 'reviv':21B 'revive-adserv':20B 'self':24B 'self-host':23B 'token':46B 'tracker':35B 'tracker-invocation.php':30B 'trick':50B 'use':65B 'victim':67B 'visit':57B 'without':42B","search_c":"'6.0.8':82C '6.0.9':152C 'accept':110C 'adserv':81C,151C 'advertis':96C 'allow':85C 'although':118C 'assign':97C 'attack':87C 'authent':100C 'carri':139C 'chang':108C 'credenti':144C 'cross':72C 'cross-sit':71C 'csrf':116C 'descript':94C 'earlier':84C 'exploit':130C 'fix':148C 'forgeri':75C 'handler':109C,160C 'interact':133C 'interfac':129C 'invoc':127C 'invocation-tag':126C 'issu':146C 'leftov':105C 'modif':159C 'modifi':89C 'name':93C 'normal':125C 'paramet':112C 'path':137C 'permiss':103C 'remov':154C 'request':74C,111C,136C 'requir':131C 'reviv':80C,150C 'session':143C 'site':73C 'state':107C 'state-chang':106C 'tag':128C 'token':117C 'tracker':91C,158C 'tracker-invocation.php':78C 'tracker-modif':157C 'unus':156C 'use':98C,122C 'verifi':114C 'victim':101C,132C,141C 'vulner':76C 'without':113C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-11T18:19:49+00:00","kev":null,"cvss_vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N","cvss_by":"support@hackerone.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-77168","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-77168","severity":null,"published_at":"2026-11-11T18:19:49+00:00","modified_at":"2026-11-11T18:19:49+00:00","first_seen_at":"2026-11-11T18:28:43+00:00","fetched_at":"2026-11-11T18:28:43+00:00","note":null}],"documents":[],"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"}