---
id: "CVE-2026-108560"
page: "https://infrastack.ai/live/CVE-2026-108560"
kind: "vulnerability"
aliases: ["CVE-2026-108560"]
title: "Revive Adserver: crafted URL runs JavaScript in victims' browsers"
severity: "medium"
cvss: 6.1
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["package", "php", "revive-adserver", "self-hosted"]
not_affected_if: ["managed-hosting", "version-6.0.9-or-later"]
published_at: "2026-11-11T18:18:26+00:00"
first_seen_at: "2026-11-11T18:28:42+00:00"
updated_at: "2026-11-11T18:29:32+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-108560", "first_seen_at": "2026-11-11T18:28:42+00:00"}]
exploit_sources: []
---

# Revive Adserver: crafted URL runs JavaScript in victims' browsers

Link for people: https://infrastack.ai/live/CVE-2026-108560 (this .md is for agents)

Revive Adserver's updates-history.php reflects attacker-supplied values into XML output without encoding, a reflected cross-site scripting flaw. A victim who opens a crafted link lets an attacker run JavaScript in their browser session.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed Revive Adserver version in the admin console or in the installed package metadata; versions `6.0.8` and earlier are affected
- Confirm whether `updates-history.php` is reachable from the internet on your ad server

## Fix

- Revive Adserver: upgrade to `6.0.9`

## Timeline

- 2026-11-11T18:28:42+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-108560

## From the sources

A reflected cross-site scripting vulnerability in updates-history.php in Revive Adserver 6.0.8 and earlier allows an unauthenticated attacker to execute JavaScript in a victim's browser by persuading them to visit a crafted URL. Attacker-controlled values are included in XML command attributes without appropriate encoding, allowing injection of executable XHTML into the response. The preliminary session check omits GET xajax requests, exposing an unauthenticated attack path, while authenticated administrator requests also reach the unsafe output. The issue is fixed in Revive Adserver 6.0.9 by applying the session check to both GET and POST requests and encoding XML command attribute values in both response serializers.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
