---
id: CVE-2026-61575
title: >-
  AVideo-Encoder vulnerable to stored DOM cross-site scripting through queue
  titles
summary: >-
  AVideo is a video-sharing Platform. Prior to 8.1.0, `view/queue.php` uses
  `pathinfo` on the caller-controlled `fileURI` and stores its filename through
  `setTitle` in `encoder_queue.title` without neutralization. `fileURI` is not
  in the `…
severity: medium
cvss: 4.7
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N'
cvssSource: cna
cwe:
  - CWE-79
vendor: WWBN
product: AVideo-Encoder
affected:
  - AVideo-Encoder < 8.1.0
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-10-29T15:29:48.635973Z'
published: '2026-10-28'
updated: '2026-10-29'
sourceUpdated: '2026-10-29T17:21:16.746Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-61575'
references:
  - url: >-
      https://github.com/WWBN/AVideo-Encoder/security/advisories/GHSA-w2g8-p296-r5g9
    label: >-
      https://github.com/WWBN/AVideo-Encoder/security/advisories/GHSA-w2g8-p296-r5g9
  - url: >-
      https://github.com/WWBN/AVideo-Encoder/commit/d9b3446bec9b5daec4e248a54fc343c5fab081f7
    label: >-
      https://github.com/WWBN/AVideo-Encoder/commit/d9b3446bec9b5daec4e248a54fc343c5fab081f7
  - url: 'https://github.com/WWBN/AVideo-Encoder/releases/tag/v8.1.0'
    label: 'https://github.com/WWBN/AVideo-Encoder/releases/tag/v8.1.0'
tags:
  - cve.org
epss: 0.00177
epssPercentile: 0.07225
ingestedAt: '2026-11-01T22:02:40.993Z'
---

## Overview

AVideo is a video-sharing Platform. Prior to 8.1.0, `view/queue.php` uses `pathinfo` on the caller-controlled `fileURI` and stores its filename through `setTitle` in `encoder_queue.title` without neutralization. `fileURI` is not in the `objects/security.php` filter lists, and the `Login::canUpload()` capability needed to submit a queue entry can be self-granted using an attacker-controlled login site without legitimate encoder credentials. `view/index.php` loads `queue.json` from `view/queue.json.php` into the `#grid` jQuery Bootgrid table; its title formatter concatenates `row.title` into raw cell HTML. An attacker can therefore store an HTML title whose event handler runs in a privileged viewer's browser. `Encoder::getAll` limits nonadministrators to their own streamer's rows, so the victim must be an administrator who sees all rows or an operator on the attacker's streamer. A second `.html()` sink in the progress panel uses the same title but additionally depends on a helper script loaded from the streamer; the Bootgrid sink is reachable from encoder code alone. The script can read session-visible data and rendered streamer credentials, act with the viewer's privileges, and execute again for each qualifying viewer until the row is removed. This issue is fixed in version 8.1.0.

## Affected

- `AVideo-Encoder < 8.1.0`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
