Servers and applications
GHSA-8wjr-gw73-9f2g
Delegated Videos Admin can impersonate video owners and escalate to administrator via encoder hashes
- Severity
- High 7.2
- Published
- 11 Nov 2026
- Last changed
- 11 Nov 2026
- Added to UpHeron
- 11 Nov 2026
- Attack
- Over the network · Needs an administrator account · No user action needed
- Attacker can
- Read data · Change data · Take it down
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H- Sources
- Project advisories (GitHub)
Description
A non-administrator account that holds only the delegated "Videos Admin" permission (Permissions::PERMISSION_FULLACCESSVIDEOS, Permissions plugin, enabled by default) can obtain a full administrator session without knowing any administrator credential.
objects/aVideoEncoderStatus.json.php → EncoderJobStatus::inspect() returns a fresh video_id_hash to any logged-in caller for whom Video::canEncoderEdit($videos_id) is true. That check falls back to Video::canEdit(), which returns true for every Videos Admin on any video, including videos owned by the administrator. However video_id_hash is not a per-caller edit token. It is bound to the video owner (ownerFingerprint = owner's users.password + saltV2), and useVideoHashOrLogin() exchanges it for a password-less User::login(true) as the owner. The Videos Admin requests the hash for an admin-owned video, replays it from a cookie-less session, and receives an administrator session cookie.
Affected software
| Software | Affected versions |
|---|---|
AVideoServers and applications · github:wwbn/avideo |
|
References
- GitHub Advisory Database https://github.com/advisories/GHSA-8wjr-gw73-9f2g
- github.com https://github.com/WWBN/AVideo/security/advisories/GHSA-8wjr-gw73-9f2g