All vulnerabilities

Servers and applications

GHSA-g69x-xc9q-2g2v

Missing ownership checks in MP4 import allow cross-user private video disclosure and deletion

Severity
High 8.3
Published
11 Nov 2026
Last changed
11 Nov 2026
Added to UpHeron
11 Nov 2026
Weakness
Missing authorization (CWE-862)
Attack
Over the network · Needs a user account · No user action needed
Attacker can
Read data · Change some data · Take it down
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H
Sources
Project advisories (GitHub)

Description

GHSA-83xq-8jxj-4rxm (CVE-2026-33493) reported that objects/import.json.php lets any user with upload permission (1) steal another user's private video by importing it into their own account, (2) read the video's .txt/.html/.htm sidecar, and (3) delete the video file. The fix in commit e110ff542a added a realpath() prefix check, so fileURI now has to resolve inside videos/. But every user's media is stored inside videos/ (videos//*.mp4). The check does not ask whether the target folder belongs to a video the caller owns or can edit. So the advisory's own Step 1 (theft) and Step 3 (deletion) PoCs still work unchanged on current master. The fix only blocked the "outside videos/" variant.

The script below reads objects/import.json.php from the repository at run time. It slices the real code verbatim, from the .mp4 regex check up to the require_once ... upload.php hand-off, and eval()s it against a temporary AVideo root. Nothing in the guarded code is paraphrased or stubbed.

From WWBN/AVideo's security advisory. Shortened; the full text is there.

Affected software

SoftwareAffected versions
AVideoServers and applications · github:wwbn/avideo
  • Every version up to 29.7.1

References